[haiku-development] Re: VOTE: Git or Mercurial (hg) as Haiku's new source control tool

  • From: "Ingo Weinhold" <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 14 May 2011 15:22:14 +0200

On Sat, 14 May 2011 07:40:52 +0200 Niels Sascha Reedijk 
<niels.reedijk@xxxxxxxxx> wrote:
> In a similar fanboyism I would like to point out that the number in no
> sense represents an SVN revision number. It does not even point to a
> fixed revision. In that sense a date is much more meaningful, because
> it at least adds some temporality.
> 
> Explanation (letters refer to a changeset):
> 
> a - b - c - d -  h
>       \ e - f - g /
> 
> Now I invite you to tell me whether haiku/master-4-g1234567 refers to
> changeset 'd' or 'f'.

Unless one branches off of a changeset that is not part of what I defined as 
the main line (i.e. a former head/tip) -- which I suppose will virtually never 
happen in practice -- you can't tell from looking at the graph what changeset 
that descriptor refers to, but it still does have the direct comparability 
property (i.e. "haiku/master-3-g1234567" was committed earlier). Also, if we 
stored the complete main line mapping -- e.g. in an annotated tag (in git) -- 
it would even be possible to resolve a hashless "haiku/master-4" to the correct 
changeset. Even if the main line mapping is not stored in the repository 
itself, we could at least do that on the server and allow revision shorthands 
in Trac. E.g. r4 would uniquely refer to that revision. Of course, for other 
branches the branch name would needed to be included.

I like where this solution is headed.

Something unrelated: What are we going to do with vendor branches?

CU, Ingo

Other related posts: