VersionControl
Version control software... I haven’t seen a version control software on Windows that I liked. The ones I liked originated elsewhere and were ported later. Slowly but steadily there has been a proliferation of version control systems that are supposed to replace CVS. Which one to pick?
I saw a comparison on berlios and liked their points about documentation. I also liked the David A. Wheeler paper they linked to.
comparison
documentation
David A. Wheeler
- RCS – single file versioning, defaults to file locking after checkouts, still the simplest one to use if all you need to do is keep old versions arround, eg. for some init files of yours. Since RCS didn’t contain network support, this was the most important feature CVS added. I’m still using RCS for all my init files!
- CVS – initially based upon RCS, distributed, multiple files, the *standard* supported by such sites as SourceForge and Savannah. That the number one reason they are still so popular. Many people maintain independent Arch mirrors of existing CVS projects, however. It still acts only on files, though, so no changesets, no support for renames (delete old file and add new file), and no revisions of the directory structure itself. Those were the main points future VC systems would address.
- SVN – straightforward improvement of CVS, adding an integrated web interface using WebDav.
- Arch – GNU Arch, TomLord’s Arch – but I don’t like Tom Lord’s attitude. I read a few of his posts on the Guile mailing list a long time back and they struck me as quite arrogant. So while he must be an awesome coder, he lacks the people skills I expect from an free software maintainer. Distributed, changesets including renames and directories. I also heard from lots of people that it is a bit cumbersome to use. You always need to keep the manual near-by.
- DARCS – written in Haskell, using a new approach to patching. I heard many good things about it. The only complaint I ever heard was that for very large projects, performance wasn’t too great. Since I’m not maintaining the Linux kernel source tree, I guess I don’t care.
- monotone – learnt about this one from the articles on kerneltrap.org talking about Linus Torvald’s move away from BitKeeper. ¹ ²
- Mercurial – heard it mentioned on #emacs. Reading the FAQ it seems that signing and efficient storage are the main benefits.
- bzr – heard it mentioned on #emacs.
RCS
CVS
SourceForge
Savannah
SVN
Arch
DARCS
monotone
¹
²
Mercurial
FAQ
bzr