"Ulrich Windl" <ulrich.windl@xxxxxxxxxxxxxxxxxxxx> writes: >> Not to mention that you can have multiple roots (multiple commits with >> no parent) in git repository; besides independent branches (like >> 'man', 'html' or 'todo') it is usually result of absorbing or >> subtree-merging other projects. In 'master' branch there are 5 roots >> or more: joined 'git-tools' (mailinfo / mailsplit), absorbed gitweb, >> and subtree-merged gitk and git-gui. And here you would again have >> multiple commits with the same number... > > Which would not harm, because it would be version N from committer X. Any if > committer X merges from anything else, the next number would be > N. I did not > claim that my method makes a total ordering of commits and merges possible. Neither does it make the numbers unique for committer X. If commiter X commits a successor to commit N, it's labeled N+1. If later, he creates another branch from commit N, and commit, the new, other commit will be labeled N+1. This means even within a repository, you cannot say things like "commit number N", so, OK, you have numerical IDs, but you can't use them. What can be interesting is that a commit takes max{all commits in repository}+1, not just max{parents} + 1. Then, you have local revision numbers, but they're not stable. Indeed, that's precisely what Mercurial does. But I'm not sure how much simplicity it adds compared to the confusion it adds. Newbies will see Mercurial identifiers as changeset: 2:699b81a5851b changeset: 1:fd4b6597548f changeset: 0:58cff172192e And think "OK, the revision numbers are 0, 1, 2, and the hexadecimal stuff beside is useless". And one day, he'll send a mail, post a bugreport, or whatever, saying "I have a problem with revision number 42", and no one else but him will know which revision is called "42". > I truly believe in unique IDs, but they are just not handy in every situation. Usually, people find Git IDs to be non-handy until the find out they can cut-and-paste only the first few digits in most cases, like 442dd42 instead of 442dd42d6d4903640b0dc5561481a77c88dcea90 ;-). -- Matthieu -- 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