> I've been following the git-vs-bzr discussion, and I'd like to ask aGit avoids the problem by using a very large gryptographic hash. While recent cryptographic advances mean that it will soon be barely possible to deliberately construct two files with the same SHA hash, absent massivecomputational investment, it can be considered a truly random hash function. That means that, given N objects in the repository, there are N * (N-1) / 2 pairs, each of which is a chance to collide. The probability of having a collision is thus roughly N * (N-1) / 2^161. Which doesn't reach 1/2 until N == 2^80. Suppose a git repository has 100 objects added per second, continuously, until the Sun turns into a red giant and swallows the Earth in 5-6 billion years' time (thus halting development). That will generate 2^64 objects in the repository, and the probability of there being a collison at that time is 2^128/2^161 = 2^-33, or 1 in 8 billion, small enough to be negligible. For slightly more plausible repository sizes, the odds of having a problem are even more miniscule. And the benefits gained from having a completely deterministic data => name mapping are considerable, well worth running such a minisule risk of major problems. (There is a road map for conversion to the even larger SHA-256 if that ever proves necessary, but it's not likely to.) As for the <ref>~<n> syntax, see "man git-rev-parse". The parent of <rev> is <rev>^. If it has multiple parents, the othersare <rev>^2, <rev>^3, etc. <rev>^^^^ is the great-great-grandparent of the named rev, and may also be written <rev>~4. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Jeremy Fitzhardinge | Re: [RFC 00/15] x86_64: Optimize percpu accesses |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
| Mike Galbraith | Re: regression: CD burning (k3b) went broke |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Linus Torvalds | Re: [GIT]: Networking |
| Michael Grollman | Re: 8169 Intermittent ifup Failure Issue With RTL8102E Chipset in Intel's New D945... |
