From: Erik Bågfors Date: Sat, 21 Oct 2006 16:31:01 GMT Subject: Re: VCS comparison table Message-ID: <845b6e870610210931r19aaaac3y3dfd0d9c4af8ed40@mail.gmail.com> In-Reply-To: <200610211608.18895.jnareb@gmail.com> > There _are_ terminology conflicts. For example bzr "branch" is roughly > equivalent to one-branch git "repository"; Agreed. > bzr "repository" is just > collection of branches sharing common storage, Agreed > which is similar to set > of git "repositories" with .git/objects/ linked to common object > repository (storage area) or appropriately set alternates file > (although that is not common usage in git, and for example you would > have to be carefull with running git-prune); bzr "lightweight checkout" > is equivalent to nonexistent "lazy clone"/"remote alternates" discussed > on git mailing list but not implemented because of performance > concerns; bzr "normal checkout" is I think similar to git "shared > clone" (but shared clone is limited to repositories on the same > filesystem); bzr "heavyweight checkout" is roughly equivalent to > one-branch-only "clone" in git or cg (cg = Cogito). This is wrong. There are two kinds of checkouts lightweight.. and "normal/heavyweight". I think you are getting this alittle wrong, and I think the reason is that you are thinking of repositories, while in bzr you normally think of branches. For example, I think (correct me if I'm wrong) that if I have a git repository of a upstream linux-repo (Linus' for example). I guess I'll use "pull" to keep my copy up to date with the upstream repo? If I then would like to hack something special, I would "clone" the repo and get a new repo and that's where I do my work. Is that correct? In bzr you never (well...) clone a full repository, but you clone one line-of-development (a branch). So "bzr branch" is always a "one-branch-only "clone" in git or cg". "bzr checkout" is a "bzr branch" followed by a setting saying "whenever you commit here, commit in the master branch also". "bzr checkout --lightweight" is a way to get only a snapshot of the working tree out of a branch. Whenever you commit, it's done in the remote branch. /Erik