Vladimir Panteleev wrote: >> Anyway, I don't see any point in using Git since Mercurial can sync >> just fine with a Git repository :) > > Well, the topic at hand was which VCS to use for an open-source project. > Using your argument, there is no reason to use Mercurial over Git, > because Mercurial users can sync just fine with Git repositories :) > Well, Mercurial offers much less opportunities to shoot oneself in the foot and is much easier to use. This is especially true if you come from another VCS like SVN: you can use the same commands for the same results on the local repository and you only need to learn a couple of commands for syncing. Git uses different commands for everything (this is actually a stated design goal: try to make things as different from CVS as possible!)
The only true advantage that Git has over Mercurial is the staging area, and even that is a two edged sword: IMO it should not be enabled by default since it helps people to lose data. And the same functionality can be emulated (and superseded) in Mercurial with record and mq anyway. So, why use Mercurial? - It is safer to work with: make a change, commit, your change is in the repository. With git, you need to "add" your change before committing (or remember to use the correct option when committing, "-a" IIRC); - It is easier to use when you come from another VCS (and even when you do not: try to figure out from the Git doc how to revert a change you've made but not yet committed); - It is safer on Windows: in six years, I have never had a data loss or corruption, whereas I've had both with Git in a two days test without doing anything special; - It is faster on Windows (not by much for most operations, but sometimes spectacularly so); - Repositories are smaller on Windows (ok, that's not so important given the price of HDDs today); - If you are already a Python user, it is only a very small package to add whereas Git installs a lot of cruft that you won't be able to use anyway even if you wanted to. Why use Git? - You know someone who uses it and will be able to guide you through all the pitfalls; - You really, really, really *always* need the staging area so you want to have it by default instead of using mq. If that is the case, you will probably wind up using quilt anyway (quilt is the Git equivalent for mq). Jerome -- mailto:jeber...@free.fr http://jeberger.free.fr Jabber: jeber...@jabber.fr
signature.asc
Description: OpenPGP digital signature