I have just decided on starting my own little projects that I will soon be sharing via CodePlex and the first thing that popped into my mind is what Version Control that I should use. Actually I have 3 choices:
-
SVN - this Open Source Version Control was the first that popped into my mind, since I'm quite used to it (my past employer uses SVN)
-
Visual Sourcesafe - I'm also pretty much familiar with this since I'm a heavy user of VSS at my previous job
-
Team Foundation System - Well, this is the one that I really like to learn!
These 3 software have already proven their "worth" as being the best 3 Version Control software around. Which makes my decision quite harder.
Before I proceed, you might be wondering on why I need a Version Control. Well, to make it short, I'm pretty quite used to working with projects that has (in any way) been part of a Code Repository. I really like the ability of being able to rollback to your last-saved code whenever you get lost at coding. And I really suggest developers to also make it a habit to use a Version Control even though you are the only one developing the project. Just think of your Version Control software as your automated backup system. I think that's enough, time to get back to the topic!
Since SVN is at the top of my list I went directly to subversion's website and searched for a downloadable installer of Subversion for my Vista x64. I found one, but the problem with SVN is that it requires Apache web server to be installed. Which in my opinion is quite an overkill for me since I am just the one that has access to this repository.
Team Foundation Server. Now this is a new tool from Microsoft which boasts of a complete solution that helps Project Managers and Programmers take control of the development during a project. I was quite hesitant on the SVN approach because it requires Apache Server to be installed, but in the case of TFS, there's a whole bunch of softwares that needs to be installed (Sharepoint, SQL Server 2005, IIS). So if I labeled SVN to be overkill this would basically place TFS in an over-over kill solution for me.
Visual Sourcesafe. This was actually at the bottom of my list since this was the very first Source Control that I used, and I want to learn new stuff. But as I weighed my options, this is the source control that really fits my needs. Light-weight, File based and no server needed. So I've made my decision and will be using Visual Sourcesafe as my "Internal" Version Control.
If you're looking for a Version Control that you will be using, I would probably recommend SVN since its free and I guess it's pretty much impractical to spend a couple of bucks just to have an Internal Source Control (lucky for me I'm a MSDN subscriber which makes Visual SourceSafe free for me). But if you would be working on a team, especially if your using Visual Studio I would highly recommend TFS (Team Foundation Server) for its a complete solution and is specially catered for large .Net Projects.