views:

529

answers:

4

I use Microsoft Visual SourceSafe for version control. I like that change this approach and use a newer software for this work, now I want to know that what are the differences between these three application? Which one is better?

Are these solutions integrated with visual studio?

+13  A: 

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.

Michael Shimmins
+1 for stating the facts without opinon.
Joachim Sauer
Also: TFS costs money up front. Git makes branching and merging easier, safer and 'cheaper'.
Benjol
+1  A: 

I can only speak to Visual Studio integration for SVN. I've used both VisualSVN and AnkhSVN. They both have pretty tight integration and allow you to perform various operations from the Solution Explorer menu the way you would have normally done it with VSS. Version 2+ of Ankh (one I currently use) has been very stable for me and worlds better than the older versions.

This looks like a fairly detailed discussion of using Git with Visual Studio.

R0MANARMY
I've tried all of those and eventually always end up going back to the command line. The GUI tools invariably feel like half-finished hack jobs.
kprobst
@kprobst: Most of my interaction with Ankh is in the form of Get Latest and Commit, so I haven't felt the limitations.
R0MANARMY
+1  A: 

This is in addition to the other answers, not a full answer as Michael Shimmins satisfied most of what I would say

TFS (especially 2010) is incredibly approachable for implementing source control techniques that you would have been terribly hard-pressed to execute with VSS. Branching and merging is much easier with TFS than SVN to start and follow over time. I would say the same thing about Git from an user interaction perspective, but those tools are getting better slowly.

Git is a great tool if you spend the ramp up time and the techniques that community take as standard practice are well worth the effort in any version control system. You're still going to run into conflicts with SLN and CSProj/VBProj files in teams of > 2. This is a result of the way those files are structured and managed.

Ryan Cromwell
+2  A: 

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.

WestDiscGolf