A few weeks ago I got very serious about my personal development environment. Part of that was getting proper version control in place. I’m working on “real projects” at home, I should be have a “real environment”, right? So, I decided to give Subversion a try. After all, it was free, I already had a FreeBSD server set up with Apache configured… why not? Plus, what other choices are out there? Visual Source Safe is ancient and pretty bad to boot. CVS was superceded by SVN. Team Foundation Server is… well… let’s just say that it took me a week to install it the first time I touched it. A lot of very smart folks I know use SVN. So I gave it a shot.
And you know what? SVN is pretty good, from what I saw of it. Is it a fully integrated, head-to-toe solution like TFS? Nope, but it doesn’t aim to be, either. The install process was smooth and easy, other than one “Doh!” mistake on my part (not granted the Apache user access to the repository). After less than a few days of using it, I decided to move on. And tonight, I just finished an TFS install, that same TFS install I didn’t want to make ever again.
What went wrong with my SVN experience had nothing to do with SVN itself, and everything to do with the tools to access SVN from a Windows box. You see, the initial install of TFS might have taken me a week the first time around and most of a night the second time. But once it is installed, that’s it, I’m done, and I can take off the “sys admin hat” and put on my “developer hat” and get to work. But with Tortoise SVN (which integrates SVN to Windows Explorer), and Ahnk SVN (which integrates SVN to Visual Studio), I did not have that experience. Every check in was downright painful, to the point where I was leaving stuff checked out longer than I liked, to avoid the headaches that SVN was giving me. Every check in would be this voodoo dance of trying to commit, then running “clean up”, then trying to commit only specific items and then only cleaning up specific items, and then being told that things were locked, and exiting Visual Studio, then running clean up again, and finally being able to get my work checked in.
After a few days of this rediculousness, I realized that a few nights of trying to install TFS more than offset a lifetime of misery. SVN, I hardly knew ye. Maybe when the Windows clients are of a higher quality I will give you another shot. But until then, I need to get work done, and TFS lets me do that without any hassle at all.