
I’ve been using CVS for at least 6 years now. I switched to using Subversion maybe in the past 3 years. When I switched to Subversion from CVS, I really didn’t understand what the fuss was about. The feature-set was really quite similar and it seemed basically like a matter of personal (or political) preference. People insisted that “Subversion was better” and if you weren’t using it, it’s because you were an ignorant jerk. So I gave into the peer pressure and started using Subversion whenever possible. Admittedly, I found a few things that Subversion would do that CVS just wouldn’t. Symbolic links, for example, are one thing that Subversion can handle and track while CVS simply cannot. However, the general structure/organization for your project between the two systems of version control are pretty much identical. That is, there’s a centralized repository that every developer uses for checking out and committing code. Furthermore, any action requires some communication with the server. Branching and merging has been equally difficult in both, in my experience, so as a general rule I stay away from doing either and keep all code in the trunk of the project’s repository.
(more…)