|Think about Loose Coupling|
Well, I currently use something called Razor from Visible Systems. It's implemented using some unspeakable GUI and is somewhat incoherent and non-standard in its use of keyboard shortcuts. Fortunately, everything you can do with the GUI can also be done (I believe) with scripts that Visible provides, and you can attach issues to file versions you can check in.
Things are not all chips and gravy, however -- it is possible to make a branch, but if you want to abandon a branch, Razor continues to remind you that you have a branch open. Yes, you can delete the branch, but that means any history associated with that branch is gone. Pfft.
To make things a little more irritating, you have to manually tell Razor which directory to check files into. Only if you're overwriting a read-only version of the file does it warn you things might be wrong (which in this case they're not, and that's the option you want to see); if the file *doesn't* exist in the directory you've chosen, it happily extracts the file into the directory quite silently, which almost always turns out to be the *wrong* directory. (Meaning you have to reverse the checkout, fix the directory path and extract again, agreeing (this time) to overwrite the file. Argh.)
Like any somewhat obtuse software tool, its shortcomings become eccentricities, and workarounds that took many hours of thought and experimentation become second nature. 'Twas ever thus.
I have read about SubVersion with some interest -- we installed verion 1.0 a while back but didn't get enough time to fiddle with it. Apparently 1.1 is now out;
In the past I hve used CVS and it seems to work quite well -- even if it's easy to move things in the wrong way -- I once tried to update a repository with cvs update only to find that CVS summarily overwrote the source file with an older version in the repository. Oops. Should have used cvs commit, of course. The man page for CVS is also a little daunting, then again, source code control is a complicated beast.
Finally, high marks to good old RCS .. just mkdir RCS, check in the file you're going to edit, and away you go. Mindless, because it only works on a single directory at a time, but it always works and it's always available.
Alex / talexb / Toronto
"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds
Update: SubVersion is self-hosted. Bad information (possibly masquerading as humour) was posted on SlashDot, and I fell for it. Apologies.