TortoiseCVS lets you work with files under CVS version control directly from Windows Explorer. It's freely available under the GPL -
you can copy it, modify the source code, or even sell it, as long as you
make any changes to the source code available. It is heavily based on the
source code for WinCVS, a great Windows client for CVS.
DISCLAIMER: TortoiseCVS comes with no warranty. It's also quite new.
You might not want to use it with valuable data. Saying that, I use it
every day with valuable data, and have had no problems which might cause
loss of data. Most functionality uses the cvs2ntlib.dll which comes with
the latest beta of WinCVS. So if you trust the latest WinCVS, it might
be sensible to trust this.
Experience of both CVS and, for some features, WinCVS is probably necessary to make the best of TortoiseCVS at the moment.
Windows NT/95: You might need to install
the IE4 shell or desktop extensions to get a more recent version of
Explorer. To do this install IE4, and choose Yes to install the active
desktop. Don't worry, you can turn off the actual active desktop later by
right clicking on it. It's the new version of Explorer that we are
after. If you've already installed IE5, you must uninstall it and then
install IE4 with desktop extensions, and then install IE5 again. IE5 itself
doesn't come with the desktop extensions. What a palaver.
Uninstallation: You won't be able to delete TortoiseShell.dll while
Explorer has it loaded. To uninstall, first remove the registry entries
by double clicking on Unregister.reg. Then log off and back in again, reboot, or force Explorer to
respawn itself. You can now delete the TortoiseCVS folder.
From then on you can Update, Commit, Add or perform Differences by right clicking on files and folders. You will also see the icon overlays within folders which are under CVS.
There are some more options on the CVS submenu, including Remove.
The Web Log option launches your browser into ViewCVS or CVSWeb to view the history of a file. These programs let you browse the CVS repository, download old versions and display differences between them. I highly recommend that you persuade your server administrator to install ViewCVS - it supports the useful Annotate feature which tells you who last changed each line of code.
Tagging lets you mark a particular version of the code - you can later fetch that revision from the second page of the CheckOut dialog. You can find out the available tags from the web log.
Branching is where you fork the code. If you want to change the branch you have to check it out somewhere. Your original checkout carries on along the main trunk.
SSH support is a bit clunky at the moment. Whenever you perform a CVS operation, a DOS window will pop up. You must type your SSH password in there and press return. To avoid doing this, you'll need to set your home directory to somewhere useful (use CVS->Prefs), and generate SSH keys in there. Make them no protected by a pass phrase. Then upload your public key to the server. If you don't know what I mean, then sorry. CVS SSH support isn't very good under Windows yet!