Man, TFS is just plain ole inferior to git. First, you can't merge two branches that aren't in direct relation to each other, so no leapfrogging your parent to get to your grandparent, or your great-uncle, or whatever it is that you've got. That's bad enough.

But today, my office's internet connection died, and I can't even annotate offline. Nor can I see the diff between what I've got now and what I checked in ten minutes ago. Not to mention I lose the ability to create checkins while I'm offline. If I want to create a safe rollback spot in TFS and I'm offline, I'm toast. Man, that's just sad.

(EDIT: Inserted an image of it happening again... I can't even get history on my files. ARGH. And you don't even have to lose your network completely, just your connectivity (dumb word) to your TFS server.)

git has a complete copy of your repo on each node that's using it, at least up to the last pull and for branches you're tracking locally. That lets you have everything you could've found on a server right there, locally, ready to go, as if nobody had made any checkins since you last, well, checked in on things.

Which worst case is worse? No access to any history whatsoever if you don't have a network connection, or complete history up until the last time you checked in? (Duh.)

So what's your single point of failure in TFS? (All together now: Your TFS server.) What's your single point of failure in git? HAHAHA!!! That's right, trick question. As soon as you push your repo somewhere, there isn't one.

sigh Sheesh, Microsoft, can we toss TFS already? Just get into the GitHub game, integrate your git service with Visual Studio preferentially if you have to, and keep on selling. Because boy, you sure look dumb supporting your glorified Visual SourceSafe in 2015 when there are absolutely better free options out there.

Labels: ,