On Sat, 21 Oct 2006, Erik Bågfors wrote: > > bzr is a fully decentralized VCS. I've read this thread for quite some > time now and I really cannot understand why people come to this > conclusion. Even the bzr people agree, so what's not to understand? The revision numbers are totally unstable in a distributed environment _unless_ you use a certain work-flow. And that work-flow is definitely not "distributed" it's much closer to "disconnected centralized". Now, you could be truly distributed: BK used the same revision numbering thing, but was distributed. But BK didn't even try to claim that their revision numbers were "simple" and that fast-forwarding is sometimes the wrong thing to do. So BK always fast-forwarded, and the revision numbers were just randomly changing numbers. They weren't stable, they weren't simple, and nobody claimed they were. So bzr can bite the bullet and say: "revision numbers are changing and meaningless, and we should just fast-forward on merges", or you should just admit that bzr is really more about "disconnected operation" than truly distributed. You can't have your cake and eat it too. Truly distributed _cannot_ be done with a stable dotted numbering scheme (unless the "dotted numbering scheme" is just a way to show a hash like git does - so the numbering has no _sequential_ meaning). Btw, this isn't just an "opinion". This is a _fact_. It's something they teach in any good introductory course to distributed algorithms. Usually it's talked about in the context of "global clock". Anybody who thinks that there exists a globally ticking clock in the system (and stably increasing dotted numbers are just one such thing) is talking about some fantasy-world that doesn't exist, or a world that has nothing to do with "distributed". Linus