Petr Baudis <pasky@xxxxxxx> writes: > The lack of parents ordering in Git is directly connected with > fast-forwarding. [...] > repo1 repo2 > > a a > / \ / \ > c b c b > \ / \ / > m m Yes, bzr has similar thing too. AIUI, the difference is that git does it automatically, while bzr has two commands in its UI, "merge" and "pull". In your case, the "leftmost ancestor" of m is b, because at the time it was created, it was commited from b. One problem with that approach is that from revision m and looking backward in history (say, running "bzr log"), you have two ways to go backward: 1) Take the history of _your_ commits, and your pull till the point where you've branched. 2) Follow the history taking the leftmost ancestor at each step. In bzr, the notion of "branch" corresponds to a succession of revisions, which are explicitely stored in a file (ls .bzr/branch/revision-history), which is what commands like "log" follow, and what is used for revision numbering. And this sucession of revision must obey (at most) one of the above. In the past, it was 1), which means that "pull" (i.e. fast-forward) was only adding revisions to a branch. In your scenario, repo1 would get a revision history of "a c m" while repo2 would have had "a b m" with the same tip. Today, the revision history follows leftmost ancestor. One good property of this is that revision history is unique for a given revision. But the terrible drawback is that "pull" and "push" do not /add/ revisions to your revision history, they rewrite the target one with the source one. That means I can have $ bzr log --line 1: some upstream stuff 2: started my work 3: continued my work # upstream merges. $ bzr pull $ bzr log --line 1: some upstream stuff 2: some other upstream stuff ... 3: ... commited while I was working 4: merged from Matthieu this terrible feature -- Matthieu -- definitely curious to give a real try to git ;-) - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html