views:

304

answers:

4

I am myself a subversion user, and overall very happy with it. However, there are times that I need to work on code stored on a CVS repository that is beyond my control (ie, some open source projects). I've heard lots of horror stories of why CVS is really flawed, but nothing very concrete and would like to avoid getting trapped on such errors myself :-)

I'd like to know if you can enumerate all the gotchas and potential problems that may surge while accessing and working with code bases living on CVS, and how to deal with them.

A: 

Merging and branching have been difficult points for CVS's in general.

Chris Ballance
+11  A: 
  • CVS does not version moves and renames
  • It does not version symlinks
  • Most important, IMO - Does not support atomic commits
  • Expensive and counter-intuitive branching
  • By default treats all files as textual
  • Limited support for Unicode
Anton Gogolev
+2  A: 

There's some dir-related weirdness in CVS.

  • You can't really delete a directory. It sticks around
  • "cvs update" will not bring you the new directories created. You must add "-d" option

Another thing you'll miss is an analog of "svn revert" working w/o an access to the server.

Ivan Krechetov
It's been a while, but you can set up default arguments for cvs commands in some file or other. I always set up at least "-d" for cvs update.
David Thornley
+2  A: 

You can't move a directory - you have to manually move it in the repository.

Andrei Taranchenko