Jakub Narebski <jnareb@xxxxxxxxx> writes: >> - you can use a checkout to maintain a local mirror of a read-only >> branch (I do this with http://bazaar-vcs.com/bzr/bzr.dev). > > In git you can access contents _without_ checkout/working area. Bazaar can do this too. For example, "bzr cat http://something -r some-revision" gets the content of a file at a given revision. But that's not what Aaron was refering to. In Bazaar, checkouts can be two things: 1) a working tree without any history information, pointing to some other location for the history itself (a la svn/CVS/...). (this is "light checkout") 2) a bound branch. It's not _very_ different from a normal branch, but mostly "commit" behaves differently: - it commits both on the local and the remote branch (equivalent to "commit" + "push", but in a transactional way). - it refuses to commit if you're out of date with the branch you're bound to. (this is "heavy checkout") In both cases, this has the side effect that you can't commit if the "upstream" branch is read-only. That's not fundamental, but handy. I use it for example to have several "checkouts" of the same branch on different machines. When I commit, bzr tells me "hey, boss, you're out of date, why don't you update first" if I'm out of date. And if commit succeeds, I'm sure it is already commited to the main branch. I'm sure I won't pollute my history with merges which would only be the result of forgetting to update. Once more, that's not fundamental, but handy. The more fundamental thing I suppose is that it allows people to work in a centralized way (checkout/commit/update/...), and Bazaar was designed to allow several different workflows, including the centralized one. -- Matthieu - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html