Having been using CVS for the last four years in a commercial environment, I’m certainly pretty comfortable with it.  Branching and merging is tricky (sometimes painful) as usual, but losing file history on rename is a killer.  WinCVS has been the gravy on top that keeps us using CVS.  Anyone who might have had the misfortune of trying to work with command-line rcs or cvs knows how much more productive a GUI makes things.

I’ve been evaluating alternatives in the next generation of free SCC applications.  Given the above issues I’ve had with CVS, my requirements are:

  • Supports directory/file renaming with file history saving
  • Supports common-ancestor file merging (ie: multiple merges to a branch won’t conflict)
  • Has a reasonably good GUI to support 90% of the CLI functionality

My “nice-to-haves” would be:

  • Visual Studio integration
  • Conflict resolution via “three-file method” (file.mine, file.other, file.ancestor) versus embedded conflict markers (CVS-style >>>>>> and <<<<<< markers)
  • Easy on-line backup capability (for any SCC system running off a database)

I’m crossing my fingers waiting for Subversion to support the multiple-merge support.  It feels like the project with the most elegant and future-proof design.  It certainly is a pain to get up and running on some older RedHat distributions (db4 and Apache 2.0 requirements).

Read full post