[haiku-development] Re: Proposal: Moving away from Subversion

  • From: Ryan Leavengood <leavengood@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 22 Jun 2010 17:04:45 -0400

On Tue, Jun 22, 2010 at 4:55 PM, Ryan Leavengood <leavengood@xxxxxxxxx> wrote:
>
> Could someone explain how a distributed VCS like Mercurial can
> possibly use monotonically increasing revision numbers?

Sorry for the noise, but I decided to not be lazy and actually answer
my own question. Basically the Mercurial revision numbers are only
valid for a single repo, and the changes are also identified by
globally unique Changeset IDs, JUST LIKE GIT. In fact the general
recommendation is not to use the revision numbers when communicating
with other people. From
http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html:

"This distinction is important. If you send someone an email talking
about “revision 33”, there's a high likelihood that their revision 33
will not be the same as yours. The reason for this is that a revision
number depends on the order in which changes arrived in a repository,
and there is no guarantee that the same changes will happen in the
same order in different repositories. Three changes a,b,c  can easily
appear in one repository as 0,1,2, while in another as 0,2,1. 5
comments

Mercurial uses revision numbers purely as a convenient shorthand. If
you need to discuss a changeset with someone, or make a record of a
changeset for some other reason (for example, in a bug report), use
the hexadecimal identifier."

So my point is, we would need to use a big hex number with Mercurial
as well when making releases and doing bug reports, so I don't think
that is a valid reason to disqualify Git. Sorry, but unless we stick
with Subversion we will need to move past revision numbers.

-- 
Regards,
Ryan

Other related posts: