The future of Team Foundation Version control
I’ve written about this before but it keeps coming back. From time to time I get the question “Is TFVC dead?” I guess I have to just keep answering it. No, it is not. We added support for Git in TFS 2013 so that we’d support the best centralized version control system and the best dvcs in the industry. We’ve been investing heavily in Git because there’s a ton of work to do to bring it up to parity with what we can do with TFVC. I think people get confused for a number or reasons. We talk about our progress on Git a lot. The industry talks about Git a lot. And, if you are watching, you’ll hear more and more about teams inside Microsoft adopting Git. My own team has moved a bunch of stuff to Git. All of these are true and some people assume that they all indicate to TFVC being abandoned. They do not. Most of our customers still use TFVC and we value this tremendously. Most people in Microsoft still use TFVC. Most new projects created today on VS Online choose TFVC. No doubt, in all of these we are seeing a shift where Git is growing share and I fully expect it will continue to grow. There may even come a time a few years down the road where Git passes the 50% mark – I don’t know but it’s possible. Regardless, we’ll still have hundreds of thousands, if not millions on TFVC. It will continue to be important to us for a long, long time. That’s all just talk, show me some evidence. The core TFVC engine is pretty darned mature. It’s used by super large teams and is incredibly reliable. Most of our focus in TFVC investment is “around the core”. Let me give you a ton of examples.
- We’ve done a bunch of work on our web version control UI – enabling things like in web editing, checkin, delete, etc. We’ve made that work for TFVC.
- We added support for “welcome pages” which basically are wiki pages. We made it work for TFVC.
- We’ve done work on CodeLens indicators for TFVC, including some that are only available for TFVC – like the “incoming changes” indicator.
- Build.Vnext supports TFVC
- We’re building a new code search experience. Though the private preview only supports Git, we will add TFVC support before it ships.
- We’re working on code review improvements, including things like support for iterative code reviews, a web experience, an improve VS experience with inline commenting, etc. All of this will work for TFVC too.
- We recently added support to Team Explorer Everywhere on Mac/Linux for longer than 260 character local paths in TFVC – a very common complaint.
- One of the biggest chunks of work in Team Project Rename has been in getting TFVC to fully support it. There have been some core changes in the engine to make this work.
- We’re working on support to have TFVC and Git in the same team project to enable better coexistence – that will require TFVC work.
There’s tons more I’m probably forgetting and some stuff I’m not ready to talk about yet. TFVC is not only not dead, we are continuing to invest heavily and will continue to. Choose what best fits your workflow and feel confident that we’ll keep bringing you forward. I hope this helps address some of the concerns. Please let me know if there’s anything else I can do to help. Brian