CVS Helper Software?
MetalShard asks: "While building Pocket War we started using CVS and found it to be the best version control system any of us have ever used. We are also using Code Historian which works with CVS and lets you analyze the changes you have made in you code, and TortoiseCVS which adds an easy to use front end to CVS. It seems like there are a lot of cool add-ons for CVS, but we have not found a good CVS server configuration program. Is there one?"
Not really a tool per se, but just a hint that can prove helpful. You might find the existing CVS server configuration of projects like NetBSD or FreeBSD useful. I know I did :-)
Instead of repeating the steps that others have taken to configure your CVSROOT/ stuff, you can copy existing configurations and make a few modifications to match your local style, taste, or other details of setup. For instance, this article from the FreeBSD documentation set describes how you can set things up for automatic mail notifications and commit log archiving, using the scripts developed by the FreeBSD CVS admins.
--My other computer runs FreeBSD too.
I haven't used this particular module, but Webmin has a decent and consistant UI, so it should do what you want. That said, it doesn't seem like there's much server configuration that you have to do once it's set up. WebCVS is pretty handy too.
jEdit has a great plugin for CVS called GruntSpud that when used with jDiff does the same job as Code Historian all inside of one app
I use cvsup on all of my production boxes. I've wrapped it up in some scripts (using ssh with authorized-keys) such that the developers can issue a single command and *poof* the production server is updated with the code tagged as PRODUCTION. It's my life as sysadmin/cvs lackey a lot simpler.
What, specifically, were you looking for as far as server configuration was concerned?
Binary delta storage?? So what? Yeah rename would be nice. Changesets. But I would hardly call those "vital features". Hell RCS is sufficient for most small projects with only one developer. Bitkeeper really shines in the area of massivly multi-developer projects. CVS is fine for any small to medium sized projects. It's also free (as in beer). I've never heard of ClearCase.
-73, de n1ywb
www.n1ywb.com
For admin tasks such as rearranging the repsoitory, that is by hand.
Creating a new repository, a command. A small script.
Managing labels is done through client software (smartcvs, winCVS, tortise or interface in java IDEs) or the commands line.
Most of what I would like a tools for is branching and merging. Multiple merges from a development branch into an integration branch is time consuming. Even with diff tools such as Araxis or Guiffy. Most of this is because turning off keyword expansion temorarily is not convienent. Most of the differences in this type of merge is just the keyword expansion text.
The cooler integrations and work will be through scripts you add into loginfo, commitinfo and verifymsg.
In the end I find I do very little real backend work after the initial setup of new repsoitories.
What specific tasks are you looking for a tool to do?
... we started using CVS and found it to be the best version control system any of us have ever used.
Wow. Really? I use CVS, as do most of my colleagues, but I don't know anybody who actually likes it. It's filled with idiosyncracies, is fundamentally insecure, is totally useless for binary data, and lacks basic obvious features. You want to delete a directory? You want to get a list of the actual changes when you update? You want to nest CVS repositories? Sorry, not in CVS!
ClearCase is appalling bloatware. You're lucky.
Everybody does rename by delete+create, or by
moving the repository file. No reason not
to automate it, methinks.
Binary deltas would really be good.
The easiest would be encoding as ascii hex
at the client during commit when the entry is
marked -kb. That would take perhaps 20 minutes
to implement. Of course the storage would be 3x,
but you'd get that back after 2 deltas.
Changesets would also be easy to add.
Thing is, you can add the feature, but can
you get it back into the distribution?
-I like my women like I like my tea: green-
Having worked with multiple CM systems, I can confidently say that ClearCase has been a dream. We even renamed 1/3 of our code base lately, and all we had to do was "cleartool mv ". Maybe you're thinking of an older version?
It is fast (4 - 10 times faster than TeamConnect), easy to understand, and even includes graphical tools for those who don't want to learn the command line.
I find the implementation to be elegant: they made the whole program a device driver, so it appears as a new drive. Only those with password access can do anything to the underlying database. Very cool.
For geek dads: Contraction Timer
To me, the lack of good integrity checking and error recovery is the greatest weakness of CVS. It means that you can't rely on recent backups, but must keep every CD you've ever burned of your repository.