I've experimented with a few revision control systems in the past; the most pleasant being RCS, and the worst being CVS. Unfortunately, I'm cheap and cannot afford RCS, and I already have VSS from some MSDN DVD, so I bit the bullet and installed it.
Things are going well; it's a bit weird to go into it and see every file always checked out. I use a flash drive for my programs, so I can program them no matter where I go, so leaving them checked out is a neccessity when I switch computers. I've gotten into the habit of doing a nightly check-in, which seems reasonable; as long as I've got a working state of the program.
So I got curious and looked into the source safe repository directory.
I am... aghast. Whoa. There are 26 directories, named 'a'-'z'. Each directory holds seemingly random named files named like 'aaaaaagbff' for the 'a' directory, and 'zzzzzzepg' for the 'z' directory, and everything inbetween.
What the hell?
Is this some form of obfuscation or something? For the life of me, I can't imagine anyone designing such a system. When I tried re-inventing this wheel several years ago (which I luckily gave up on before it consumed too much of my time), I stored file differences based on dated directory names, and pretty much every other versioning system does something similar.
Erk.
DO NOT USE VSS.
Visual Source Safe, is very easy to corrupt, and you can end up loosing all the code in it.
Please use SVN instead.
http://subversion.tigris.org/
http://www.highprogrammer.com/alan/windev/sourcesafe.html
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvss/html/vssbest.asp