Re: VCS comparison table
- From
- Lachlan Patrick <loki@research.canon.com.au>
- Date
- Oct 20, 2006, 07:47 UTC
- Message-ID
- <45387F04.5010101@research.canon.com.au>
- In-Reply-To
- <Pine.LNX.4.64.0610192202340.3962@g5.osdl.org>
Linus Torvalds wrote:
Show 10 quoted lines
> > On Thu, 19 Oct 2006, Aaron Bentley wrote: >> I understand your argument now. It's nothing to do with numbers per se, >> and all about per-branch namespaces. Correct? > > I don't know if that is what Carl's problem is, but yes, to somebody from > the git world, it's totally insane to have the _same_ commit have ten > different names just depending on which branch is was in. > > In git-land, the name of a commit is the same in every branch.
I've been following the git-vs-bzr discussion, and I'd like to ask a question (being new to both bzr and git). How does git disambiguate SHA1 hash collisions? I think git has an alternative way to name revisions (can someone please explain it in more detail, I've seen <ref>~<n> mentioned only in passing in this thread). It seems to me collisions are a good argument in favour of having two independent naming schemes, so that you're not solely relying on hashes being unique.
A strong argument is that a global namespace based on hashes of data is ideal because the names are generated from the data being named, and therefore are immutable. Same data => same name for that data, always and forever, which is desirable when merging named data from many sources. But the converse isn't true: one name does not necessarily map to only that data. Have I misunderstood? Is this a problem?
Ta, Loki