[merge] tags in repository

John Arbash Meinel john at arbash-meinel.com
Thu Jan 25 20:49:52 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jan Hudec wrote:
...

> When unique root IDs are introduced, this would even be easy to check, since
> histories are disjoint iff they have different root id.

Actually this isn't true because you can merge projects that have
different root ids. Ie:

lib1
lib2

commandline/

commandline/
  lib1/
  lib2/


Where I decided to merge lib1 and lib2 into the project commandline. We
are calling this "by-value nested trees". Since you essentially copied
the *value* of lib1 into commandline. (versus "by-reference" which would
just store a reference to lib1).

Anyway, you can already do this with bzr today, and we have done it a
few times with the bzr codebase (bundles used to be a 'changeset'
plugin, uncommit was a plugin, etc).


Now, you can argue that the meta-project 'commandline' doesn't need to
see the tags for the sub-projects lib1 and lib2.

But I did want to point out that it might be a little more involved than
you might think.

> 
>> I also want to see who created the tag, perhaps move it myself if I see 
>> it is the wrong version and so on. In a distributed development 
>> environment anyone should be able to do this and when you merge you have 
>> to resolve the conflicts with the tags too. I know tags don't change 
>> often but people make mistakes and version control allows one to fix 
>> that and record why you think it needed to be changed. The fact that 
>> tags don't change often means that resolving conflicts in tags will be a 
>> rare event so it is not a problem. But just because they don't change 
>> often doesn't mean they should not be versioned IMHO...
> 
> I would vote for versioned (independently of revisions) tags too.
> 

I agree that versioned, independent from revisions, tags are good. There
are still questions about how a Branch knows what tags it has available.

And Martin has a reasonable concern about complicating the mental model
that users have to understand.

John
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFuRfwJdeBCYSNAAMRAhOIAJ9blH+K7idfsHpdfiH857ULKDWcUwCeP02c
9o7TIEJQONMJTD+rypXqQmU=
=CDbG
-----END PGP SIGNATURE-----



More information about the bazaar mailing list