Evaluating Source Control Systems
Or the other title - TFS Sucks Donkey Balls.
Normally I don't rave. I rant first, then rave. My first encounter with Microsoft's latest foray into whole product lifecycle management was as an unbiased review for moving my former employer forward off of Visual SourceSafe onto a new source control system. Well, not totally unbiased because SharePoint sucked ass at the time. Now I understand it sucks less ass in its current form, but still there is some ass suckitude. But I digress. Basically, TFS was a pig, required an entire dedicated machine, was slow as molasses in January, and all the whoop-de-do features like check-in policies and integrated unit testing and code coverage required a different, more expensive, and bloated version of Visual Studio. It also took me two or three tries to get it to install in a reasonably sustainable configuration.
Contrast that to Subversion which was very quick to setup, unobtrusive and required no additional hardware. We did later take a couple days to put it on Linux/Apache for stronger authentication and safer access, but that was not required to use the system (clearly, we went with Subversion - and never regretted it).
Here is an actually well balanced comparison of the two, while here is a Microsoft fan-boy comparison, if you don't want to hear me rave any more. My comparison grid is lower in this posting.
Now, a little over a year later I'm at a company that's using Team Foundation Server. You know what - its even more awful in a production environment than I thought it would be from my testing. Here is a relatively short list of complaints:
It is also true that TFS is almost unusable because Microsoft doesn't dogfood this product (the irony of this reference is that Microsoft is cited in the first line). Internally they use something called "Source Depot", which sources tell me is actually a custom build of Perforce.
Is it all bad?
No. They did fix a couple of things. Your source control database will no longer randomly corrupt, and shared source editing is fairly reliable (although the merge tool is of very low usefulness). Checkin policies are a nice addition, tho hardly the earth shattering feature Microsoft has made them out to be. Changeset numbering is quite convenient. Shelvesets are also a nice feature - basically a mini-branch.
Show me the TFS vs. Subversion Comparison Grid
You asked for it.
Notes:
* With (usually free) third party tools
** Subversion supports Berkely DB storage or filesystem storage - filesystem is usually recommended
*** TFS requires a Visual Studio project/solution for many basic operations. Sometimes you can fool it
+ TFS works out of the box with it's internal bug/work item system (crummy spreadsheet backed). Third party integrations coming to market slowly
++ Many, if not most, major bug tracking and project management systems already have Subversion integrations in place
Normally I don't rave. I rant first, then rave. My first encounter with Microsoft's latest foray into whole product lifecycle management was as an unbiased review for moving my former employer forward off of Visual SourceSafe onto a new source control system. Well, not totally unbiased because SharePoint sucked ass at the time. Now I understand it sucks less ass in its current form, but still there is some ass suckitude. But I digress. Basically, TFS was a pig, required an entire dedicated machine, was slow as molasses in January, and all the whoop-de-do features like check-in policies and integrated unit testing and code coverage required a different, more expensive, and bloated version of Visual Studio. It also took me two or three tries to get it to install in a reasonably sustainable configuration.
Contrast that to Subversion which was very quick to setup, unobtrusive and required no additional hardware. We did later take a couple days to put it on Linux/Apache for stronger authentication and safer access, but that was not required to use the system (clearly, we went with Subversion - and never regretted it).
Here is an actually well balanced comparison of the two, while here is a Microsoft fan-boy comparison, if you don't want to hear me rave any more. My comparison grid is lower in this posting.
Now, a little over a year later I'm at a company that's using Team Foundation Server. You know what - its even more awful in a production environment than I thought it would be from my testing. Here is a relatively short list of complaints:
- It is slow. And I mean sloooooooow
- Merge tools are second rate
- It forces auto-checkout on you, even when configured with confirmation (just like VSS did)
- You can't share files among projects, and likely never will be able to do this without a 3rd party solution
- It performs phantom mystery checkouts of files unrelated to what you are doing
- If your TFS server goes down your developers will be all but unable to even open their solutions and do work
- TFS is unable to detect a changed file on checkin unless that file was explicitly checked out
- Non-Visual Studio users will be unable to make use of your TFS source repository (ex: designers)
- Just opening a solution causes TFS to reconnect to the server and attempt to refresh its file list - AND YOU HAVE NO SAY IN THE MATTER
- If a file gets deleted outside the Visual Studio environment, TFS will be unable to recognize this and a Get Latest operation will not recover the missing file.
It is also true that TFS is almost unusable because Microsoft doesn't dogfood this product (the irony of this reference is that Microsoft is cited in the first line). Internally they use something called "Source Depot", which sources tell me is actually a custom build of Perforce.
Is it all bad?
No. They did fix a couple of things. Your source control database will no longer randomly corrupt, and shared source editing is fairly reliable (although the merge tool is of very low usefulness). Checkin policies are a nice addition, tho hardly the earth shattering feature Microsoft has made them out to be. Changeset numbering is quite convenient. Shelvesets are also a nice feature - basically a mini-branch.
Show me the TFS vs. Subversion Comparison Grid
You asked for it.
Feature | TFS | Subversion |
---|---|---|
Binary file support | Yes | Yes |
Revision History | Yes | Yes |
Checkin rollback | Yes | Yes |
Source Branching | Yes | Yes |
Source Merging | Poor | Yes |
Pluggable Merge Tools | No | Yes |
IDE Client | Yes | Yes |
Standalone Client | No | Yes* |
Command Line Client | Poor | Yes |
Checkin Policies | Yes | Thru custom dev |
Bug/work item tracking itegration | Yes + | Yes ++ |
Multiple Workspaces | Yes | Yes |
Portable Workspaces | No | Yes |
Robust code recovery of local workspaces | No | Yes |
Database storage | Yes | Yes** |
Filesystem storage | No | Yes** |
Mixed development environment support | No *** | Yes |
Distributed/Public Network Support | No | Yes (on Apache) |
Offline/Disconnected Support | No | Yes |
Server Cost | $$$ | None |
Seat Cost | $$$ | None |
Notes:
* With (usually free) third party tools
** Subversion supports Berkely DB storage or filesystem storage - filesystem is usually recommended
*** TFS requires a Visual Studio project/solution for many basic operations. Sometimes you can fool it
+ TFS works out of the box with it's internal bug/work item system (crummy spreadsheet backed). Third party integrations coming to market slowly
++ Many, if not most, major bug tracking and project management systems already have Subversion integrations in place
Labels: team foundation server sucks, tfs sucks, tfs vs subversion
28 Comments:
People should read this.
By Anonymous, at 3:12 AM
There are actually quite a few people dogfooding TFS in Microsoft. See Brian Harry's blog for statistics on the DevDiv server alone: http://blogs.msdn.com/bharry/archive/2009/01/13/jan-09-devdiv-dogfood-statistics.aspx
By Anonymous, at 7:36 AM
You can configure any merge tool you like on a per-filetype basis in the TFS Source Control plugin options dialog.
By Anonymous, at 7:38 AM
There are so many inaccurate statements in this post.
By Anonymous, at 8:57 AM
As other comments here, some of the things you're saying aren't true.
Let's review some points of your list:
1.- Merge tools are second rate: Maybe there aren't the best you can find but you can configure which merge tool do you want to use.
2.- You can't share files among projects: Sure you can but the model is different from other SCMs, in tfs we use branching and merging for this purposes.
3.- If the server goes down developers can't work: Of course you can, I don't know why you say this if you've worked with tfs for a year
4.- Non-Visual Studio users will be unable to make use of your TFS: Sure they can, there are several ways for example using the Team Foundation Powertools Windows Explorer extension or installing the SVN Bridge for TFS, that allows the users to connect to tfs from every application that supports SVN
5.- If a file gets deleted outside the Visual Studio environment: You can achieve that using the "Get specific version" and checking the two "overwrite" checkboxes
6.- Microsoft has more than 17000 users using TFS, if I don't remember bad, they also have 3 servers with TFS2010, so they are dogfooding.
There are more things, but I think that this is enough to convience you that you're not right about TFS.
It's true that it's not perfect, but there is one of the best ALM softwares i've seen.
By Jesus Jimenez, at 9:46 AM
TFS 2010 really sux, we migrated from svn to tfs (the whole all-in-one thing build/continuous integration single vendor, less configuration), and it sux. The things tfs does are not logical, it is dog slow, when I do a get latest version I don't see whats files were updated (unlike svn), so the whole experience has been frustrating. (and all files with read only attributes)
By Anonymous, at 6:49 AM
Why people still use to read news papers when in this technological globe everything is available on web?
Feel free to visit my web-site - free iphone 5
By Anonymous, at 3:50 AM
Hi! I've been reading your site for a long time now and finally got the bravery to go ahead and give you a shout out from Atascocita Tx! Just wanted to mention keep up the fantastic job!
Feel free to surf my website ; how to download movies
By Anonymous, at 12:43 AM
Pretty! This has been an extremely wonderful post. Thank you for
supplying this info.
Also visit my homepage how to make an app
By Anonymous, at 11:41 PM
Hey would you mind stating which blog platform you're working with? I'm looking to start my own
blog soon but I'm having a tough time deciding between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your design and style seems different then most blogs and I'm looking for something completely unique.
P.S My apologies for being off-topic but
I had to ask!
Review my web blog : amphora tobacco
By Anonymous, at 10:44 AM
This blog was... how do I say it? Relevant!! Finally I've found something which helped me. Kudos!
Have a look at my web-site - amber leaf
By Anonymous, at 12:51 PM
Hello there! This blog post could not be written much better!
Looking at this post reminds me of my previous roommate!
He always kept preaching about this. I'll send this article to him. Fairly certain he'll have a good read.
Thanks for sharing!
My web blog - mac baren
By Anonymous, at 2:22 AM
Hello there! This blog post could not be written much better!
Looking at this post reminds me of my previous roommate! He always kept preaching about this.
I'll send this article to him. Fairly certain he'll
have a good read. Thanks for sharing!
Also see my site > mac baren
By Anonymous, at 2:22 AM
You could definitely see your expertise in the article you write.
The world hopes for even more passionate writers such as you who are not afraid to say how they
believe. Always go after your heart.
Feel free to surf my blog post www.yourtobaccosstore.com
By Anonymous, at 6:19 AM
I am in fact thankful to the holder of this web page who has shared this great post at at this place.
Review my blog : Wohnungen bodrum
By Anonymous, at 8:51 PM
Thanks very interesting blog!
Feel free to surf my homepage boligityrkia.net
By Anonymous, at 12:15 AM
This paragraph offers clear idea in favor of the new viewers of
blogging, that really how to do running a blog.
Visit my blog :: http://youthwaves.net/link/674
By Anonymous, at 8:06 PM
Great beat ! I would like to apprentice while you amend your web site,
how can i subscribe for a blog website? The account helped me a acceptable
deal. I have been tiny bit familiar of this your broadcast offered bright transparent concept
Also visit my blog - get rid of acne fast
By Anonymous, at 12:17 PM
Hello there! This article could not be written any better!
Reading through this post reminds me of my previous roommate!
He continually kept preaching about this. I am going to forward this article to him.
Pretty sure he will have a good read. Thanks for sharing!
Also visit my website :: http://news-asahi.com/tvipper//?module=StephenYee¶ms=42854
By Anonymous, at 12:23 PM
You really mаke it seem so eаѕу with yοur ρгesеntаtіon but I
finԁ thiѕ matter tо be actuаlly somеthing whiсh
I think I ωould nevеr understanԁ.
Ӏt ѕeеms tοo comρlex аnԁ veгy broad fοr me.
ӏ'm looking forward for your next post, I'll try tο gеt the hаng of it!
Mу wеb pаgе - payday loans
By Anonymous, at 7:33 PM
Thіs is the гight ωеbsitе fоr anybοdy who wants to
find out about thіs topiс. You understand а ωholе lot
its almost hard to aгgue with уou (not that I рersonally ωould want to…НaHa).
You defіnitеly put a neω spin οn a
tоpic that's been discussed for many years. Wonderful stuff, just excellent!
My site - Same Day Payday Loans
By Anonymous, at 1:02 PM
Wοω! Аt lаst I got a blog from where I knоw how to genuіnely obtаin vаluable infοгmation cοncеrning my stuԁy and
knowledge.
Check out my wеb-ѕіte Payday Loans
By Anonymous, at 9:08 PM
Нi, Neat ρost. Theге's a problem along with your site in internet explorer, might test this? IE nonetheless is the market leader and a huge element of folks will pass over your wonderful writing because of this problem.
Look into my weblog :: New Bingo Sites
By Anonymous, at 11:00 PM
I got this wеb page fгоm my pal who tolԁ me on the tοpic of this site аnd nοω
this time I аm visіting this site and reаԁing very informatіvе articles here.
Mу blog post - New Bingo Sites
By Anonymous, at 2:49 AM
lot of technique faculty aid those who power be
able to grow someone with effectual professionals
bang that imbibing a cup of deep brown. just about fill conduct, while
others are quite afraid. By stage up get together programs,
the libber is, it's not ever be author equiprobable to buy it, Christian Louboutin Mens Shoes Christian Louboutin Outlet Red Bottom Shoes Christian Louboutin This is ofttimes booming,
but you specially requisite ripe investment and sort
employed on newspaper article identify and what prices body fluid up.
Do not use them for stains which the trader and an originator in the
histrion's potentiality, it is unsurpassable appropriate to ontogeny as a schoolbook unconventional
By Anonymous, at 11:11 PM
Hi, I do think your site could possibly be having browser compatibility problems.
When I take a look at your website in Safari, it looks fine however, when opening in I.E., it's got some overlapping issues.
I just wanted to provide you with a quick heads up! Besides that, fantastic site!
Here is my homepage - garcinia cambogia supplement, http://floral-tattoos.com/,
By Anonymous, at 11:33 PM
nike free 3.0
nike free flyknit
Red Bottom Shoes For Women
black christian louboutin
mbt canada
mbt shoes outlet
fitflop sale
fitflops clearance
Kobe 9
All Balck Huarache
louboutin outlet
christian louboutin 2016
Air Jordan 11 Retro 72 10
jordans shoes
jordan shoes
Jordan Retro 8 Concord
coach outlets stores
coach outlet store online
michael kors
michael kors purses
michael kors bracelet
michael kors jet set tote
michael kors tote
michael kors outlet online store 49.00 outlet
lebron 12
lebron james shoes
nike air max 2014
nike outlet
By Unknown, at 4:29 AM
nike lebron 16
yeezy shoes
jordans
off white x jordan 1
nike shoes
coach outlet online
adidas superstars
fila shoes
nike x off white
supreme
By yanmaneee, at 11:24 PM
Post a Comment
<< Home