To begin with, in what language they are written. My experiences with Git and Mercurial were very similar, but I know that if I want to configure Mercurial, I can do this because it is written in Python, Git is at least somewhat in C, which I am not familiar with.
Git and Mercurial are what are called distributed. Each copy is created in the same way, and they can push and pull (using this terminology), change from each other on a one-time basis. Subversion, on the other hand, consists of one central repository, and each working copy is subordinate to this central server, clicking and pulling out (fixing and updating in this case) changes it and only in it.
Installing Git or Mercurial for a couple of people consists of gaining SSH access to the same server and installing multiple packages. While for SVN, as far as I know, you need to configure and run the actual server application under Apache, and then contact the SSL certificate and .htaccess, etc., to protect it.
For all my personal projects I go with Mercurial or Git. If I worked with a large team, I would probably go Subversion, because you get centralized authentication and hosting. But for two people I would choose one of the distributed ones, because then you do not need to bother with centralized authentication and hosting. :-)
jacobbaer Jul 06 '10 at 2:02 2010-07-06 02:02
source share