What exactly is TFVC (Team Foundation Version Control)

joedotnot picture joedotnot · Aug 8, 2015 · Viewed 17.3k times · Source

This link talks about TFVC. https://msdn.microsoft.com/en-us/library/ms181237.aspx

What exactly is it?

I know that TFS (Team Foundation Server) is a product that can be downloaded and installed, but recently I have seen mention of "Team Foundation Version Control" and "Team Foundation Service".

So can someone please summarize for the dummies like me the differences of

  • Team Foundation Server
  • Team Foundation Service
  • Team Foundation Version Control

Answer

Daniel Mann picture Daniel Mann · Aug 8, 2015

Team Foundation Server is Microsoft's "all-in-one" Application Lifecycle Management solution. It contains capabilities for Agile project management, source control, continuous integration (build), continuous delivery (release), manual test case management, and more. It also has SharePoint integration and a data warehouse to facilitate easy reporting. It's been around for about 10 years now, introduced in 2005 as Visual Studio Team System. Since then it's received 5 major versions (2008, 2010, 2012, 2013, and now 2015) with innumerable service packs, patches, and quarterly updates.

TFS is an on-premise solution, consisting of (in a best-practices style setup) anywhere from 2 to 5 servers.

There is no such thing as "Team Foundation Service" anymore. It's called Visual Studio Team Services these days. Team Services is "TFS in the cloud", hosted and maintained by Microsoft in the Azure data centers. It's the exact same codebase as TFS on-prem, except it's updated more frequently (every 3 weeks). There are some capabilities in TFS on-prem that aren't available in Team Services and vice versa. For example, Team Services does not have SharePoint integration or reporting. The upside here is that there's no infrastructure to maintain or software to upgrade -- upgrades happen every 3 weeks, with no downtime. This is a huge draw for smaller shops.

Team Foundation Version Control is one of the two native options for source control in TFS/Team Services. It's a centralized version control system, similar in paradigm to Subversion. The other option is Git, which is a distributed version control system with a radically different workflow. Both are considered first-class citizens and are going to continue to be supported and receive new features for the foreseeable future. The focus has been on improving the experience for Git users, since (as I said) Git has a very different workflow than TFVC, and Git support was only added in TFS 2013, so it has a lot of catching up to do.