CVS only tracks file-by-file modifications, while SVN tracks an entire commit as a new revision, which means itβs easier to keep track of your projectβs history. Add the fact that all modern version control tools use the concept of revision, so itβs much easier to port from SVN than from CVS.
There is also a problem with atomic fixation. Although I only came across it once, it is possible that 2 people committing collaborative actions in CVS may conflict with each other, lose some data and put their client in an inconsistent state. When they are discovered at an early stage, these problems are not the main ones, because your data is still there somewhere, but it can be a pain in a stressful environment.
And finally, not many tools are being developed around CVS. While the new and brilliant new tools, such as Git or Mercurial, clearly lack tools, SVN has a fairly large application base on any system.
EDIT 2015 : Seriously, this answer is 7 years old. Forget SVN, use Git like everyone else!
Vincent Robert Aug 04 '08 at 14:17 2008-08-04 14:17
source share