At one point, I was forced to use CVS for a number of repositories. Because I have no love for the CVS command line interface, I decided to lessen the pain by writing a series of scripts to hide all the awkwardness.
Later on, it became clear that the scripts could be easily extended to work in Subversion as well.
Currently, I no longer have a need to use CVS, and therefore these scripts are unmaintained. Let me know if you wish to take over their maintenance.