Re: VCS comparison table
- From
- Erik Bågfors <zindar@gmail.com>
- Date
- Oct 21, 2006, 16:31 UTC
- 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
Show 11 quoted lines
> 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