Support for tags

Gustavo Niemeyer gustavo at niemeyer.net
Sat Oct 8 19:58:59 BST 2005


> One of the original discussions about tags was how to handle their
> versioning. You chose to link tags with revisions, which causes a few
> effects. First you have to "commit" a tag, which isn't terrible, though
> you did miss this case:
> 
> bzr init
> touch a; bzr add; bzr commit -m "added a"
> bzr set-tag rev1
> bzr diff  #Nothing output, but something changed

Yep.. something similar to the x-bit handling should be used.

[...]
> The second problem is actually one of the originally discussed issues
> with using revisions. And that is if you get an old checkout of a
> branch, you can't update to the latest version of the tag. Here is a
> use case:
[...]
> It isn't terrible. But in my head, tags should be separate from
> revisions. Because they are meta-information *about* revisions. So
> looking at them from a revision viewpoint is like trying to look at your
> brain, difficult at best.

That was my original idea, but Robert and Aaron belive that being
able to merge tags is something important, so I moved to the
implemented approach.

> I think the pending-actions is quite interesting, and is a great
> addition. And certainly your tags work is the best so far, and might be
> the best place to start from.

Thanks. Unfortunately I won't have much time to fiddle with that in
the near future, so I really hope you come up with something
acceptable out of it.

> I also don't understand this code:
> class RevisionSpec_tag(RevisionSpec):
[...]

That was a copy & paste from the current revid: handling. Since
tags are really nicknames for revision ids, I thought that it'd
be correct that way. If it's not, perhaps the revid: handling
should be reviewed as well.

-- 
Gustavo Niemeyer
http://niemeyer.net




More information about the bazaar mailing list