CVS vs. Commercial Source Control?
Knight2K asks: "My company is currently using CVS to handle our code repository. The project managers, however, are unhappy with some problems with the system. Most of the developers appear to feel that CVS does what they need just fine, but don't seemed to be bothered by switching to something else. It seems to me that CVS handles part of these things, and cultivating a culture of responsible revision handling would take care of others. I would like to be an advocate for CVS here, but I don't want to just promote the Open Source solution if there are legitimate reasons or advantages to switching to a commercial project."
"The project managers disliked CVS because of the following:
- Inadequate logging. (Management wants to be able see who is checking in what, how often, and how, track known issues, ChangeLogs, etc...).
- Controls for branching and merging are awkward
- Files can be edited by multiple users simultaneously without checkout.
- Work has been and will be lost due to lack of true version control.
- Has anybody made the jump from CVS to a commercial source code control system (or vice-versa)? Why? How do they compare to CVS?
- Anybody have procedures or processes they can share for handling branching and locking? How about tools to make the process easier?
Instead of ditching CVS, you might want to look at some tools which can complement it. The Mozilla project has several which might address some of the complaints.
Inadequate logging. (Management wants to be able see who is checking in what, how often, and how, track known issues, ChangeLogs, etc...).
CVS logs all checkins. If the comments supplied with a checkin aren't adequate yell at the developer. A different/better tool won't make the slightest difference here.
CVS can also send notifications to people when various events happen (I think CVS calls them triggers). If someone makes a change to globals.h, for example, everyone would be told about it.
Controls for branching and merging are awkward
Has anyone tried a GUI frontend? I like the command line but I've set up a couple people here with WinCVS and it looked pretty good.
Files can be edited by multiple users simultaneously without checkout.
As someone else has pointed out this is a feature. And it's very good at merging changes. If it can't, it tells the poor developer to do it manually.
Work has been and will be lost due to lack of true version control.
This just can't be right. Version control saves work, that's what it's there for.
Keep in mind that CVS handles some of the largest Open Source projects in the world, like Mozilla, Gnome and the Linux kernel.
"The cost of freedom is eternal vigilance." -Thomas Jefferson