Re: VCS comparison table
- From
David Clymer <david@zettazebra.com>
- Date
- Oct 24, 2006, 03:24 UTC
- Message-ID
- <1161660291.22276.209.camel@zepto.home.zettazebra.com>
- In-Reply-To
- <200610231454.06355.jnareb@gmail.com>
On Mon, 2006-10-23 at 14:54 +0200, Jakub Narebski wrote:
Show 20 quoted lines
> On Mon, Oct 23, 2006 David Clymer wrote: > > On Sun, 2006-10-22 at 22:06 +0200, Jakub Narebski wrote: > >> David Clymer wrote: > > >>> 2. bzr does not support fully distributed development because revnos > >>> "don't work" as stated in #1. > >> > >> Bazaar is biased towards centralized/star-topology development if we > >> want to use revnos. In fully distributed configuration there is no > >> "simple namespace". > > > > So revnos aren't globally meaningful in fully distributed settings. So > > what? I don't see how this translates into bias. There is a lot of > > functionality provided by bazaar that doesn't really apply to my use > > case, but it doesn't mean that it is indicative of some bias in bazaar. > > First, bzr is biased towards using revnos: bzr commands uses revnos > by default to provide revision (you have to use revid: prefix/operator > to use revision identifiers), bzr commands outputs revids only when > requested, examples of usage uses revision numbers.
Agreed. Of course, I want the simplest case to be the simplest. When working on my own branch, regardless if it is a standalone project or part of a distributed one, I don't want to have to type SHA hashes or revids. Numbers serve my purposes best in this case. When I communicate with other distributed developers, I can and should use revids.
Show 9 quoted lines
>
> In order to use revnos as _global_ identifiers in distributed development,
> you need central "branch", mainline, to provide those revnos. You have
> either to have access to this "revno server" and refer to revisions by
> "revno server" URL and revision number, or designate one branch as holding
> revision numbers ("revno server") and preserve revnos on "revno server"
> by using bzr "merge", while copying revnos when fetching by using bzr "pull"
> for leaf branches. In short: for revnos to be global identifiers you need
> star-topology.Ok. Let's not repeat this again. I think I said this once, and you've said it in two following emails. It's a given. Assume that we all know it.
Show 11 quoted lines
> > Even if you use revnos only locally, you need to know which revisions are > "yours", i.e. beside branch as DAG of history of given revision you need > "ordered series of revisions" (to quote Bazaar-NG wiki Glossary), or path > through this diagram from given revision to one of the roots (initial, > parentless revisions). Because bzr does that by preserving mentioned path > as first-parent path (treating first parent specially), i.e. storing local > information in a DAG (which is shared), to preserve revnos you need to > use "merge" instead of "pull", which means that you get empty-merge in > clearly fast-forward case. This means "local changes bias", which some > might take as not being fully distributed.
"local changes bias" I can buy that. I even like it. I don't even care if that makes bazaar "not fully distributed." I don't think the distinction between "fully" and "almost, except for some technicality" distributed is one that has much practical value.
-davidc
-- gpg-key: http://www.zettazebra.com/files/key.gpg