With all the news about git in Visual Studio and Team Foundation Server, it isn’t hard to see why many developers think that TFVC, the centralized version control inside TFS is a dead product. And the problem is exasperated by Microsoft’s habit of moving products into “maintenance” mode and disbanding their teams without any sort of announcement or warning.
In the case of TFVC, this isn’t what’s happening. In fact, TFVC is still more popular than git for new projects being created in Visual Studio Online. Brian Harry writes,
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.
Microsoft believes that the core of TFVC is mature and stable, so their work is being focused around the edges. In Brian’s post he listed 9 areas that are being worked on,
1. 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.
2. We added support for "welcome pages" which basically are wiki pages. We made it work for TFVC.
3. We've done work on CodeLens indicators for TFVC, including some that are only available for TFVC - like the "incoming changes" indicator.
4. Build.Vnext supports TFVC
5. We're building a new code search experience. Though the private preview only supports Git, we will add TFVC support before it ships.
6. 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.
7. We recently added support to Team Explorer Everywhere on Mac/Linux for longer than 260 character local paths in TFVC - a very common complaint.
8. 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.
9. We're working on support to have TFVC and Git in the same team project to enable better coexistence - that will require TFVC work.
Alexandr Biryukov, a user of TFVC, outlined four other areas where it needs improvement.
- Merge improvements (use content specific, less rename conflicts, avoid backward empty merge, ...)
- Server side Check-in policy (cross platform, not depend of local dll's, easy update/deployment)
- Branching improvements (split branch, rename without history, ...)
- Migration - user-friendly code migration from Git to TFVS and vice versa (including history).