What are the differences between TFS, SVN and GIT? [closed]

I use Microsoft Visual SourceSafe for version control. I would like to change this approach and use newer software for this work. What are the differences between these three applications? Which one is better?

Are these solutions integrated with visual studio?


Solution 1:

TFS is an Application Life-cycle Management solution, SVN and Git are source control only.

TFS does source control as well as issue tracking, document management, reporting, continuous integration, virtual labs for testing etc.

TFS's Source Control & SVN are centralized source control, Git is distributed.

There have been many discussion on Stackoverflow about TFS vs SVN.

TFS is the most tightly integrated into Visual Studio.

SVN has a few third party options for integrating into Visual Studio and they are quite nice, but not as tightly integrated as TFS.

Git has GitExtensions which allows for a low level of integration within Visual Studio.

Solution 2:

Better is a big discussion, but along the same lines you have to factor in cost.

SVN is free, where as TFS isn't. However; if you have your Visual Studio through an MSDN subscription and this is of high enough level, then you will get TFS2010 for free through your MSDN subscription downloads when released. This may be a factor which tips the balance.

As for the integration with Visual Studio, you can't beat Team Explorer for TFS. However, I have used Anhk with SVN and that works well too. I think the rest of this has been said :-)

Hope this helps.