bzr questions

Jordan Breeding jordan.breeding at mac.com
Wed Sep 28 22:18:47 BST 2005


On Wednesday, September 28, 2005, at 04:08PM, John A Meinel <john at arbash-meinel.com> wrote:

>Jordan Breeding wrote:
>> Another thing I thought of asking:
>> 
>> Does bzr support tags (possibly a similar model to mercurial)?
>> 
>> If it doesn't, are they something people see as beneficial?
>> 
>> Jordan
>> 
>
> ...
>
>It is currently undecided how tags should work, since there are a lot of 
>possible factors.
>	Do you allow tags to be updated,
>	If so, do you keep track of the old forms
>	Do you copy the tags when you branch
>	What happens during merge, can the tags conflict
>	If the do conflict, how is it resolved?
>
>etc.
>
>One of the big issues is that tags aren't really versioned data, since 
>they aren't in your working tree. But if you allow updating them, then 
>you should probably keep track of the old values for a tag. If you make 
>them versioned like everything else, then backing up to an older version 
>of the branch would give you an older version of the tag (which you 
>probably don't want)
>So how should you store the history of tag values?
>And when you branch, probably you want to copy the tags over, but if 
>they have been updated, merging gets tricky.
>
>I think someone a while back came up with a plugin to implement tags, 
>and they might have even implemented the tag: namespace. (though I don't 
>think it went that far).
>
>I have some ideas about how to solve these, and I'm sure I'm not the 
>only one. But as of yet, nobody has worried enough to implement the feature.
>
>John
>=:->
>
>

Well, in mercurial at least there are two types of tags:

http://www.selenic.com/mercurial/wiki/index.cgi/Tag

I believe the idea is that the "regular" tags get:

- copied on branches
- live in a text file so that merging can happen

also, I believe the idea is that when using a tag in say the log
command, the tag file in tip is used unless there is a multi-head
situation currently, in which case I believe mercurial uses the union
of the tag files in all of the heads, with the most recent heads
taking priority

this seems to work fairly well and has the benefit that 'hg tag' is
just a shortcut to modifying the tags file and committing

Jordan




More information about the bazaar mailing list