Re: VCS comparison table
From: Sean <hidden>
Date: 2016-06-15 22:42:45
On Sat, 21 Oct 2006 19:07:10 -0400 Jeff Licquia [off-list ref] wrote:
Several of us have pointed to the (branch, revno) combination as a sufficiently reliable communication method, and we may be right about that. But, so far, those revnos have been entirely local to a single branch, and have also been as absolutely reliable (locally speaking) as a revid; the branch "foo" may go away, but while it's around, "revision 14 of branch foo" will always mean the same thing. But we're now adding the 0.12 revno scheme, with "global" revnos. Will those be as reliable? Will "revision 2418.1.4 on bzr.dev" work as well as "revision 2418 on bzr.dev" does now?
There is no need to speculate, the numbers will only be reliable on a local basis. So yes you can force a single repository like bzr.dev to always "win" any conflict and force the other guy to change ie. a central repo model. But they can not be maintained consistently in a truly distributed system. As Linus pointed out that is fact, not opinion. Now the opinion of the bzr people is that it doesn't matter and that for all important cases it works well enough. If all the people who don't like the look of sha1's self select bzr, so be it, but that doesn't change the fundamental argument. But just to reiterate, the design of Git is flexible enough to where you can automatically generate "revno" tags for every commit in your repo _today_. You'd end up with the exact same problems that bzr will eventually hit, but Git already has everything you need today to refer to every commit in your repo as r1 r2 r3 r4 etc... Sean