Tracking changes -- merge unrelated banches?

Jari Aalto jari.aalto at cante.net
Mon Jan 22 17:28:44 GMT 2007


Aaron Bentley <aaron.bentley at utoronto.ca> writes:
>>    foo/
>>      |
>>      +-foo-1.0-1/
>>      +-foo-1.0-1+bug23456/
>>      +-foo-1.1-1/
>>      +-foo-1.1-1+bug23456/
>>      |
>>      +-foo-devel/
>>      +-foo-devel+bug23456/
>>
>> How do I get all the bug fixes integrated with the devel? That is, I
>> cannot merge:
>> 
>>     $ cd foo-devel+bug23456/
>>     $ bzr merge ../foo-1.1-1+bug23456
>>     bzr: ERROR: Branches have no common ancestor, and no merge base revision was specified.
>> 
>> due to "foo-devel" being totally unrelated to previous branches.
>
> You basically can't.  In order to merge, you need
> 1. a common ancestor
> 2. matching file-ids across all branches.
>
> Now, if do have matching file-ids, you can cherrypick the changes to fix
> bug23456 (for example) into foo-devel.

So I've hit an point where the cherry picking would be the thinkg to
use (if we had one). That would allow transferring the changes around
the branch trees that do not come fromt he same source (although they
are "same line of development"; just from different sources).

> But that's basically an awkward way of applying a patch.
>
> Really, if no one else is using Bazaar, you'll be missing a bunch of
> metadata, and I'm not sure it's worth it.

Basicly I wouldn't much care about metadata, because the

    +bug23456/
    +bug..../

would be just temporary branches that hold the fixes; which are only
items to be transferred to the appropriate releases, until they are
integrated to the upstream releases.

I'm speaking form the "packager" perspective, where local changes are
common, until upstream includes them (and local one can be trashed).

Jari




More information about the bazaar mailing list