On Mon, 2006-10-23 at 14:54 +0200, Jakub Narebski wrote: > 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. > > 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. > > 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
Attachment:
signature.asc
Description: This is a digitally signed message part