Re: Deciding between Git/Mercurial
- From
- Leo Razoumov <slonik.az@gmail.com>
- Date
- Sep 30, 2009, 00:49 UTC
- Message-ID
- <ee2a733e0909291749s71801b29ufa827cab715d0abb@mail.gmail.com>
- In-Reply-To
- <200909292058.53045.jnareb@gmail.com>
On 2009-09-29, Jakub Narebski <jnareb@gmail.com> wrote:
Show 29 quoted lines
> On Tue, 29 Sep 2009, Leo Razoumov wrote: > > On 2009-09-28, Jakub Narebski <jnareb@gmail.com> wrote: > > > [..snip..] > > > Besides with nonlinear history with > > > revision numbers such as 12678 and 12687 you know that 12678 is older > > > than 12687 if and only if 12678 and 12687 are on the same line of > > > development. > > > > The statement above is incorrect!! In a Mercurial repo local revision > > numbers are strictly ordered in commit time. 12678 < 12687 means that > > 12678 was committed prior to 12687. But these two commits could belong > > to two completely unrelated lines of development. > > > This is impossible with distributed development. If the second branch > comes from other repository, with commits _created_ (in that repository) > earlier than commits in current repository, but commits in first > branch (from current repository) were created earlier than _fetching_ > those commits in second branch: > > .---.---.---.---x---1---2---3---M---. > \ / > \-A---B---C-/ <-- from repository B > > > Either you would have to change commits numbers, and therefore they would > be not stable, or you would have to change commit time to mean 'time this > commit got into current repository', which would kill performance for sure. >
Jakub, in Mercurial sequential commit numbers are local to a repo and are not unique between the clones. Unique ID is SHA1 as in git. So mercurial commit 127:aaf123453dfgdfgddd... means commit number 127 in this repo with SHA1 "aaf123453dfgdfgddd..." In another clone commit 127 might mean completely different thing. Sequential commit numbers are strictly for "local convenience".
--Leo--