On this page, we are trying to collect argument pro and contra both staying with CVS, and switching to CVS. Behind each "argument" is a list of people who agree that this particular argument is valid. We currently have no other realistic choices (since SF.net offers us exactly those two), so I am not comparing more systems here.
Pro Subversion
- Support for versioned renames/moves (impossible with CVS): Fingolfin
- Supports directories natively: It's possible to remove them, and they are versioned: Fingolfin
- File properties are versioned; no more "executable bit" hell: Fingolfin
- Overall revision number makes build versioning and regression testing much easier: Ender, Fingolfin
- Atomic commits: Fingolfin
- Intuitive (directory-based) branching and tagging: Fingolfin
- Easier hook scripts (pre/post commit, etc): SumthinWicked (I use it for Doxygen after commits)
- Prevents accidental committing of conflicted files: Salty-horse, Fingolfin
- Support for custom 'diff' command: Fingolfin
Pro CVS
- Lots of people know how to use it: Fingolfin
- Lots of documentation available: Fingolfin
Contra Subversion
- ?
Contra CVS
- No support for versioned renames/moves (CVS repos hackery is not even remotely a replacement): Fingolfin
- No proper support for directories (in particular, deleting them, but also renames/moves): Fingolfin
See Also
- Subversion for CVS Users - Lists the major differences. Taken from the svn book