Question/idea about multiple developers committing to one branch

Nicholas Allen nick.allen at onlinehome.de
Sun Dec 3 23:03:55 GMT 2006


Thanks for your very informative reply and pointing out how the
revisions are stored in bzr!

So:

D
|\
B C
|/
A

is exactly the same as:

D
|\
C B
|/
A

except for the order of the parent revisions for D. When I merge from
upstream and then push there the parents are in a different order for D
than if I merge my branch into upstream. This causes the log to display
the revisions in a different order but for all intents and purposes they
are the same.

This is interesting and the problem actually seems much easier to solve
than I thought then!

I still don't think that push should change revision order on the push
location (as it is seen by the user using the log command) and that the
revision numbers should always refer to the same revision. So when
pushing to a location bzr just needs to determine if there have been
merges from that location and reorder the parents of the merged
revisions so that the push location's revisions are the first parent
instead of the second parent of the merged revision.

This would be better than a --to option to merge I think because the
user would not have to remember to provide it on the command line. It
seems a sensible default to not reorder revisions when pushing.
Alternatively, bzr could provide a way to say that a branches revisions
should not be reordered but either way I think is preferable to a --to
option for the merge command.

Cheers,

Nick






More information about the bazaar mailing list