This is just my opinion. Please correct me if my assumptions are wrong in any way. I have been doing some research on which Source control tool I should use for my next project. These are a very few of those differences. This comparison is only between CVS and Subversion.
Ø CVS represents almost all functionality of a source control system, though not always in a convenient and apparent manner.
SVN, patching and expanding some CVS functionality, simply does not contain some important functions. For example, the creation of tags and branches is dubious, and no means are provided to notify others that you are editing a file. Tags are replaced by some kind of universal numbering. I think this is a very important thing and should be noted as a BIG HUGE drawback on SVN’s end. Because we do branching and tagging a lot of times in the course of a project.
Ø CVS allows to rollback any commit in the repository, even if this may require some time (each file should be processed independently)
SVN does not allow rollback of commit. Authors suggest copy good repository state to the end of trunk to overwrite bad commit. However, bad commit itself will remain in repository.
Ø Our assumption initially that CVS can only be used with text is not completely right. CVS was initially intended for text data storage. That is why storage of other files binary, unicode) is not trivial and requires special information, as well as adjustments on either server or client sides. But it is possible.
SVN manipulates all the file types and does not require our instructions.
Ø In CVS, transactions are not “all or nothing”. If you check in several files at the same time and for some reason the check in fails in between, the operation would have been completed only for some files and will not be completed for others. It can’t be termed as a disadvantage though.
SVN does support transactions by the principle “all or nothing”. It for sure looks clean, neat and is comfortable for the developer.
I still am confused owing to the fact that now I honestly do not know what and how these all factors should influence a decision.
Please share your experiences and what you are currently using and whether you are satisfied or not!