Future bzr features: split file tracking and type-specific merging

Jan Hudec bulb at ucw.cz
Thu Apr 27 21:18:09 BST 2006


On Thu, Apr 27, 2006 at 14:17:30 -0500, Andrew Lambe wrote:
> Are there any plans for bzr to support splitting of versioned files?
> For instance, if I write a long bash script and later find that I want
> to reuse a portion of it in another script, I would split code to reuse
> into another file.
> Currently with bzr I would now have a modified file with a bunch of
> deleted code and an added file with the old code in it, but bzr has no
> association between the two files or the code they contain.
> >From what I understand GIT has features to support this kind of
> tracking.
> Will bzr?

I don't know anything about such plans, but if you could come up with
a description what exactly it should do, someone may be interested enough to
actually do it. Could you at least try to find out what the GIT feature is
and describe what you would like to see in bzr so we can discuss pros and
cons of doing it?

> Second, are there any plans for bzr to support intelligent
> type-specific merging, such as preserving functions in C code or tree
> structures in XML?

Basically yes. Bzr is actually quite flexible, so when versioned properties
go in (not in 0.8, but may be in 0.9 and certainly before 1.0) it will be
mostly a matter of actually providing the diff and merge alorithms.

> The best way to do this for each of a multitude of languages, file
> formats, and syntaxes is of course a much broader topic and feat than
> bzr is going for (right now ;), but bzr could support the infrastructure
> needed.
> There are essentially two parts to this: language/file format detection
> and type-specific merging.
> For the first part, plugins could aid the user in detecting or
> specifying the file type to bzr, but is bzr being designed to allow
> arbitrary file type metadata to be kept about each versioned file?

Not yet, but is planned -- properties mentioned above.
Note, that these will not be arbitrary in the sense they are in subversion --
a plugin will have to define semantics for each property -- but that's what
you need here.

> For the second part, is bzr being designed to allow different merging
> behavior (supported by plugins) based on those file types?

It actually already does, though only by command-line options. There are
weave-merge and 3way-merge algorithms and calling external merge tool is
expected some time in near future.

-- 
						 Jan 'Bulb' Hudec <bulb at ucw.cz>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060427/34f28cde/attachment.pgp 


More information about the bazaar mailing list