Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

TFS's version control system is - in my personal opinion - broken. TFS hosting git repositories? Works fine. I mean .. The git part works fine.

So, it depends. If you just care about a place to put your code, I'd say that's quite decent. If you want issue tracking I'd say 'you can have that'. What was shit/terrible in the past?

(My experience is based on a TFS setup on-premise, latest version/patches. VSO is usually ahead and better)



frame of reference: .Net Developer for the last 12 years, been a lead developer for 3 years, have been the build guy at a couple different places, and set up TFS for a couple different companies...

The thing about Visual Studio Online is frankly...

Really TFS isnt better than anything comparable for project management related stuff, meaning: scrums, work items, bug tracking, release planning/scheduling, kanban boards, burndown charts... Its just not that good.

TFS isnt really strong in source control either, for really super big enterprise stuff perforce vault etc are generally preferred, for large scale collaboration projects decentralized as in git is where its at, and small scale or 'slow to change' either git or svn is a better fit...

TFS is a deployment nightmare, and migrating between versions is a terrible time consuming experience...

Really TFS at this point's only real strength is good Visual Studio integration...

So a TFS client that's not in Visual Studio..... just isnt really competitive with 'average' tools, not even considerable against 'best of breed' tools


Exactly. My current team uses TFS for source control, ci builds, tests, work item tracking and reports.

When I first joined, I couldn't believe what a cumbersome mess it was but as I've had to work on some of the infrastructure from time to time I am really impressed how it all fits together and how much can be surfaced right inside Visual Studio. (A separate team maintains our actual instance, thank god.)

The true pain as a developer comes from the poorly thought out UI which makes every little task click heavy. To make things worse, the UI is poorly threaded and seems to prefetch nothing. This means that drilling down into any area, especially the source control view leaves you waiting 1-3 seconds per item you expand.

There's also some weird usability holes, like why after 5+ years is undo unchanged a command still only found in the optional power tools utility?


Right, the UI seems like you're doing work in access and every click opens another tab. Some features are 'nice' (link to workitems etc.), but you have dialogs with tabs with tabcontrols with gazillion other controls and .. yeah. You don't want to use that, basically.


I could swear you were talking about IBM's SCM software :)


Hey. Now - if you're looking for someone to talk to about TFS and bash it to death, count me in.

The thing is, I mostly care about my VCS. And TFS supports git natively now. No need to interact with anything else if you don't want to. No need to use the VS integration. Or the website (although that one did improve a lot in the last couple of iterations).

WorkItems are .. well. What do you expect from 'extensible objects based on XML that are used for tasks, tickets, and whatever you can come up with'? So .. yeah. I'd say it's subpar at builds, tasks, issues etc. - but again: You can host your repository there and ignore it, if you want (I do).

Especially your line about TFS's source control seems confusing, because I explicitly said that it only supports git or crap (TVCS or whatever that thing is called).


Oh, I get you. Just adding my two cents, basically if the only thing VSO really does well is use git as a source code system... I would suggest most people just use git, github, bitbucket, etc...


Isn't it true that TFS is quite quickly evolving? I started evaluating options to migrate from a trac/svn setup years ago, and wasn't impressed by TFS then. But TFS 2013.4 is really decent in terms of features, and the newest things from 2015 on vso add even more things.

The version control in TFS I'm not so sure about, and it seems obvious that some things aren't as powerful as they are in git, but if I rule out git because of repo size then TFVC looks quite appealing as far as centralized vcs goes. (really git only works up to a couple of gig of total history which is ridiculously small if you have a 10+ year project with a decent amount of binaries you want full history of). Most of the TFVC-bashing I read is from the early days (<2010) when TFVC seemed to want to emulate SourceSafe, by requiring checkouts. It's very hard to find any info on how TFVC 2013/15 compares to the alternatives.

TFS upgrading and maintenance scares me, but if you rely on VSO instead of on-premises, that part also feels manageable.


Issues with 'current' (2013) TFVC, as far as I'm concerned:

- Slow as molasses for every operation

- No offline commits. You do have 'client workspaces' now, which just basically means that the broken and insane 'The server remembers your last known state' goes away and you have something similar to svn: A local 'baseline'

- Branches are 'copies'

- Merges are a PITA

- Conflicts are a PITA

- Depending on what you're doing you probably _WILL_ need to get a specific version (and yeah, please overwrite) because get latest is broken/doesn't work (probably not relevant for client/offline workspaces anymore)

- (The UI is terrible. Far worse than the git CLI could ever be, in my world)

So, my preferences:

- Git

- Any other DVCS

- SVN

- CVS

- TFVC, SourceSafe etc., because they're the same thing in terms of usability for me (now, safety/stability is something else. TFVC would probably win when we check out the camera at the finish line).

It is really, really limited and bad.


Basically we are in a situation where we want to use festure branches or shelve sets for easier review and CI, but our repo is too big for dvcs. Feature branching is out of the question in svn of course. What I'd want is a good centralized git where you can have a 20GB bare repo but check out 2GB recent history from some branches and work with that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: