TFS

I’ve been work­ing closely with Microsoft Team Foun­da­tion Server on the project I’m cur­rently on and one thing that I’ve come to really appre­ci­ate about it is how much it sucks. It’s truly remark­able the level of suck­i­tude that ships with TFS and every day that goes by just increases my awestruc­ked­ness at its suck­i­ness. I’m sure that’s com­pletely intended too. Look, if TFS worked like a decent source con­trol tool, we wouldn’t even know it existed. If it just blended into the back­ground like a mature SCM tool, it would be really hard to sell it to tons and tons of unsus­pect­ing cor­po­ra­tions. By mov­ing source con­trol out in front of devel­op­ers, even in front of devel­op­ment itself, Microsoft guar­an­tees that peo­ple will talk about it not to men­tion buy sup­port contracts.

I should have known not to trust the peo­ple who gave us Visual Source Safe 2005 but I had some hope that they had learned from their past mis­takes. Of course, they still oper­ate under the mis­taken assump­tion that a source con­trol tool should be tied closely to the Visual Stu­dio IDE and the very idea of solu­tions and projects which is such an unbe­liev­ably crappy assump­tion that it in and of itself strikes awe in my puny lit­tle heart. Instead, source con­trol should be just that, a ver­sion con­trol sys­tem com­pletely and totally inde­pen­dent of the type of file. One of the beau­ties of Sub­ver­sion or Per­force is that files are files. On top of that, since those types of tools have no knowl­edge related to the file type, there’s no chance that they’ll decide what’s best for you when it comes to check-ins, check-outs and merges unlike TFS which con­sis­tently checks in the most ridicu­lous things. Not only that, say you want to change some code but you don’t have lat­est. TFS, like that dot­ing old aunt that always gave you under­wear for Christ­mas and farted at the most inop­por­tune times, just knows what’s best for you and forces you to get lat­est before check­ing out the files. Really TFS? What if I don’t WANT lat­est? Jeebus.

TFS is like VSS took steroids but for­got to work out and just got fat and dis­gust­ing. Please, Microsoft, for the sake of those of us who think source con­trol is a foun­da­tion of solid soft­ware devel­op­ment, pretty please got out of the source con­trol busi­ness. You just don’t do it jus­tice. Source con­trol should be pain­less, invis­i­ble and light­weight. Any­thing else is a ridicu­lous waste of time.

One Comment

  • Your project admin­is­tra­tor can turn off that unde­sired fea­ture in Team Explorer using Team Project Set­tings > Source Con­trol… and uns­e­lect­ing the “Enable get lat­est on check-out” option on the Check-out Set­tings tab.

    Like most tools, you have to get to know it and cus­tomize it a lit­tle before it really works for you.

Leave a Reply

Your email is never shared.Required fields are marked *