So far I have always used CVS for my personal projects, but FreeBSD's recent switch to Subversion is perhaps a good incentive to reevaluate, or at least to see what else is out there. So, which do you prefer and why: CVS, Bazaar, SVN, Git, Mercurial, or perhaps something completely different? In case it matters, I do have a little shopping list:
- must support both plaintext (anonymous, checkout only) and encrypted (SSH tunnel is fine) connections;
- repositories probably won't get large, but there are several different projects and some of them share code;
- I don't foresee having any need for very advanced branching/merging stuff;
- most data is code, but there are some binary files (e.g. images) as well;
- fine-grained access control would be nice;
- preferably no more difficult to setup and maintain than CVS;
- widely supported, i.e. not too exotic;
- preferably something that's either easy to learn or uses syntax similar to CVS;
- free and open source, of course.