[haiku-development] Re: Git/Hg: some speed tests

  • From: "Ingo Weinhold" <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 05 May 2011 00:48:51 +0200

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

Other related posts: