On 2009-09-29, Jakub Narebski <jnareb@xxxxxxxxx> wrote: > On Tue, 29 Sep 2009, Leo Razoumov wrote: > > On 2009-09-28, Jakub Narebski <jnareb@xxxxxxxxx> 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-- -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html