I’ve been using VSS ever since my foray into development. However it’s limitations are well known… specifically the biggest one for me is not being able to use it over HTTP. I keep utility apps, reference documents, SDK’s, and some code (ok, lots) in my personal source control. Last year I jumped off VSS and started using SourceGear’s Vault, which is free for a single user license. I still like it… much more than VSS. I loved the fact everything was in a MS SQL 2000 DB… more importantly I liked the fact it was exposed over HTTP via web services. Now, I’ve made yet another change…
In spending some time working with some projects hosted on SourceForge, I started using CVS more and more. CVS is old, but it works. A new flavor of CVS called Subversion is out… or came out recently (last year?). Subversion is like CVS in that it doesn’t use the lock-unlock SCM model. Instead, you get the latest code, make your changes, then merge changes with your changes, and finally commit the changes back to the repository. Many people swear by this over the VSS locking-unlocking model. Personally I can see both sides to this. Subversion seemed like a nice SCM for my personal stuff, but… well frankly… it wasn’t built with Microsoft technology, most of the info about it talked about Apache and hosting it on Linux or other non-MSFT OS’.
The at the June JAXDUG meeting, Rob Warner spoke about SCM in general, but mostly about CVS, Subversion, and AccuRev. I had also recently seen where Subversion won a Jolt award from Software Development magazine. I jumped… “how can I find more info about getting it running on a MSFT platform?” As you can see in the comments of Rob’s post, I asked, and “Rich” replied, pointing me to THE post of all “How in the hell do I get Subversion working in Windows!?!?” posts: Mere-Moments Guide to installing a Subversion server on Windows.
I’ve been using Subversion for over a month and I’m slowly moving everything out of Vault and into Subversion! No shot at Vault… great product, Subversion was just what I needed. I love the fact that it’s integrated right into the Windows shell too (via TortoiseSVN), as shown by the screenshot to the right showing my c:\utils directory I like to keep sync’d between two machines.
Here are a few other links I came across that will give you a hand in getting setup: