As a user I have used CVS a lot but don’t have much experience with CVS administration. Still I took the onerous task of setting up a CVS server for my team. I can already here some snigger here but then we don’t really need Git and heck, I am a programmer and I have every rights to be lazy. I wanted to set up appropriate restrictions and allow read only access to the server as well. After some trial and error, I managed that and created some empty repositories for good measures, tested it on Linux and rolled it out for production use.
Imagine my horror, when the first users (that is apart from me) complained of aborted checkout errors. Even after specifying the correct server and repository path, TortoiseCVS would throw the following error message
cvs checkout: cannot open CVS/Entries for reading: No such file or directory
Soon everybody started to complain about the same problem. All users had TortoiseCVS on Windows and sure enough when I tried the same on Windows, I got the same error. After playing around with some settings and blaming Windows, TortoiseCVS, CVSNT in that particular order and then blaming myself for making some mistake while setting up the server, I proceeded to “twiddling thumbs and sulking in a corner” role.
After coming back from work, I casually mentioned this to my wife and immediately she said “Elementary my dear Watson. It must be pruning empty directories and since the repository is currently empty …..”. And sure enough, right in the preference box, this option was staring in my face. Once I unchecked that, voila the error message disappeared.
Things are working fine now and I think I can add CVS administration to my resume now
Moral of the story: Wives == Sherlock Holmes