Posting 0.1rc1

I want a proper version control system.

Options I’m aware of are: CVS, Subversion, Arch, Monotone, Vesta, OpenCM, Perforce, BitKeeper and darcs.

As usual, I have some requirements which I would like to think are the bare minimum any system should support:

  • It must handle direct renaming of files. That eliminates CVS and Perforce.
  • It must support copying files while retaining their history. That eliminates Aegis and OpenCM.
  • It must handle filenames with spaces in. That eliminates Arch.
  • It must let me check out part of a repository, not just the whole lot. That eliminates Monotone.
  • It has to work without needing specific kernel versions or other hacks. That eliminates Vesta (which needs NFS and a 2.4 Linux kernel).

So, that leaves me with darcs or Subversion. I don’t like the fact that Subversion stores its data in DB files, but I also don’t like the fact that darcs is written in a language very few people know, is more or less a prototype, and is basically only being worked on by one person. It may also fail some of the above requirements, I don’t know.

Anyone know of any other options?

The frustrating thing is that Arch does almost everything right, except for being utterly broken in its filename handling and mandatory naming conventions.