Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git or Subversion for a TFS user

Tags:

git

svn

tfs

I have been on TFS since 2005 Beta 2, installed it, admined it, and used it on a daily basis at work. I would like a source control solution for my home projects, written with Visual Studio 2008 Professional, and I cannot afford TFS.

After merging, the big thing for me is the integration into Visual Studio, I have just become too accustomed to running source control from inside an IDE to change right now.

I have done some homework and it has come down to Git and Subversion.

Git

  • has gitextensions
  • popular on SO (active community for support)

Subversion

  • has AnkhSVN
  • popular on SO (active community for support)
  • looks like it has great documentation in the O'Reilly book

At some point I will probably try both just to expand my knowledge on the subject, but until then I am looking for something that just works.

  1. Is either Git or SVN going to feel more natural to me as a TFS user?
  2. Are there any gotchas that I'm going to run into with either?
  3. Is one of the IDE plugins more featured and robust?
  4. Does one have a more active/responsive development team?
like image 677
blu Avatar asked Aug 04 '26 14:08

blu


2 Answers

AnhkSVN got off to a rough start, but now it's a pretty nice and stable tool. So I don't think you have too many issues there.

If you're just developing by yourself, go with SVN, since the toolset is a bit better and more mature (at least the last time I checked), and DVCS is probably overkill for a single user :).

Both systems are in active development, and both have active communities that love and support each.

Gotchas? Yeah, the check-out model is gone with both. TFS is optimized for an always-on, check in/check out model, even though checkouts aren't necessarily blocking like they are in VSS. I personally think that once you get used to it, you'll prefer SVN over TFS's source code control. Especially in mobile scenarios where you might not be connected to your home source code control server.

I'm a bit biased because I'm an admitted SVN fanboy, but I would go with SVN for your needs. Something like Git is more appropriate for times when you want to start a project where you want to have contributors merge changes into your stuff in a distributed and disconnected fashion. If you don't need that, SVN is the place for you.

like image 148
Dave Markle Avatar answered Aug 06 '26 10:08

Dave Markle


I can speak only to gotchas. While I'm pretty happy with git, I do confess that there can be a lot of unpleasant surprises, like trying to push to a repo with a checked-out working directory, or the fact that when you clone a repo you don't always get all the branches. Subversion is a more mature, organic, unitary design. I personally can't live without the distributed features that git provides, but there are definitely fewer gotchas with svn.

like image 44
Norman Ramsey Avatar answered Aug 06 '26 08:08

Norman Ramsey



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!