[RFC] Revision id aliases

Martin Pool mbp at canonical.com
Tue Jun 20 04:40:18 BST 2006


On 19 Jun 2006, John Arbash Meinel <john at arbash-meinel.com> wrote:
> Some people wanted something similar for quilt-like performance. They
> wanted to be able to say 'rev X is like rev Y, but takes precedence'. So
> when they change patch 2, and update patches 3-10, doing a pull from
> that branch doesn't say 'diverged' but 'replaced'.

This is a bit like aliases (though obviously different), and also a bit
like the way revisions normally descend from one another.  It would
almost be enough to say "rev X is a descendent of Y", but we don't
normally want to show Y when people look at the log.

> >> As far as pre/post 1.0. It just depends if someone like you really wants
> >> them, and comes up with a reasonable solution before we decide we are at
> >> 1.0. We are already at 0.8. With a major performance push coming up, I
> >> wouldn't be surprised if we hit 1.0 fairly soon. (I don't really like to
> >> say any absolutes, but probably this year, and it wouldn't surprise me
> >> much if it was within 6 months or so).
> > Ah, cool - I wasn't expecting it that soon, actually. Is tagging a
> > showstopper for 1.0?

Yes, I'd hope so too.  The big things on my map for 1.0 are tags, better
performance (including a smart server), and improved documentation.
Nested trees and svn integration are also very good but not most-have
for 1.0, I think.

> tags probably should be. The real question is figuring out what for tags
> will take.

Yes, I think they're a 1.0 feature.

> As an interesting aside, if we implement tags with a general 'metadata
> about revisions', it would seem putting aliases in there would seem to
> be a good fit.
> My current idea of a meta-info file would use something like
> knits/weaves to create a per-line ancestry. And then merging happens on
> a per-line basis, rather than as a whole file.
> It probably couldn't be exactly a knit or a weave, since they actually
> work on chunks rather than lines.
> Maybe something like key=>value pairs, where the 'key' becomes the line
> identifier, and the value is versioned. ('tag:bzr-0.7' is the key,
> 'mbp at sourcefrog.net-234234234' is the value).

Adding a meta-version works in most ways but I'm still very
uncomfortable about the additional conceptual and implementation
complexity of tracking it.  But that's a separate thread.

-- 
Martin




More information about the bazaar mailing list