Everyone seems to hate CVS except me.
Over the years I've used Perforce, and MS Visual SourceSafe, but at the end of the day hosting on SourceForge in trandem with $79 USD for SmartCVS solves my problems.
I feel your need to flame, I feel your pain, but honestly I don't care. My two issues with CVS have always been UTF-8 and branching. And as a guy who dealt with Perforce branches in a fortune 500 company, I can be realistic and say most chose drama and staff turn-over instead of branching. The rest take a serious look at GIT. As for UTF-8, SmartCVS solves that just fine.
One problem I did encounter was that SmartCVS locks files. This is very "the other version control system" in the sense that it encourages check-out before coding and checking-in. That's fine when the organization asks of it. For sux0r it's ridiculous.
To disable this feature on OS X, open the Info.plist file within the SmartCVS.app in a text editor. You will find following lines:
<key>Properties</key>
<dict>
<key>apple.laf.useScreenMenuBar</key>
<string>true</string>
</dict>
Add another key-string pair:
<key>Properties</key>
<dict>
<key>apple.laf.useScreenMenuBar</key>
<string>true</string>
<key>smartcvs.permissions.disable</key>
<string>true</string>
</dict>
This will disable the permission setting feature. Good to go, commando style.