On Wed, 4 May 2011 21:42:03 +0200 Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> wrote: > I would like to remind you of the following. The branchy nature of > hg/git means that revision numbers are not always chronological in > time. Say on haiku-central there is revision 10...15. > > haiku-central: 10 - 11 - 12 - 13 - 14 - (15) > > nielx: 10 - 11 - 12 - 13 - 14 > > Now I made a local commit from revision 14 (which is my [15]), which > was made before haiku-central revision 15. > > nielx: 10 - 11 - 12 - 13 - 14 - [15] > > I pull in the the revision 15 from haiku-central, which will then > become my 16, and I create merge revision 17. > > nielx: 10 - 11 - 12 - 13 - 14 - [15] - 17 > \ (16) / > > I push my 15, plus 17 back. 15 will become 16 in haiku-central, and 17 > will remain 17. But this also means that revision 16 is older than > revision 15. > > haiku-central: 10 - 11 - 12 - 13 - 14 - (15) - 17 > \ [16] / > > So in any case, having persistent tags will not always mean that 16 is > newer than 15. I tried to reproduce the situation with git, but regardless of the commit order I always end up with the merge commit on top. E.g. (3 repositories): central: 1 a: 1 b: 1 Change and commit in b: central: 1 a: 1 b: 1 - 2b Change and commit in a, plus push to central: central: 1 - 2a a: 1 - 2a b: 1 - 2b Pull from central in b: central: 1 - 2a a: 1 - 2a b: 1 - 2b - 2a - merge Push to central from b and pull from central in a: central: 1 - 2b - 2a - merge a: 1 - 2b - 2a - merge b: 1 - 2b - 2a - merge When committing 2a before 2b those are swapped in the end result. Though I find this result more interesting with respect to revision number tags. I assume the result would be: central: 1 - 2b - 2a - merge tags: r1 - r3 - r2 - r4 Right? CU, Ingo