Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What exactly is TFVC (Team Foundation Version Control)

Tags:

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
like image 887
joedotnot Avatar asked Aug 08 '15 02:08

joedotnot


People also ask

What is the difference between TFS and TFVC?

TFVC used to be the default type of repo for TFS projects. This has led many people to combine the terms for the two and refer to the TFVC repo as “TFS.” The question above usually translates to: “Should I use a Git repo or a TFVC repo with my Azure DevOps Project?” I strongly recommend you choose a Git repo.

What is Microsoft Team Foundation Server used for?

What Team Foundation Server Does. Team Foundation Server (Microsoft TFS) helps manage teams and their code. It's because TFS offers a combo of version control, issue tracking, and application lifecycle management.

What is the difference between Git and Team Foundation version control?

The major difference with branching between Git and TFVC is that TFVC makes copies of the parent from which it branched while Git branches are just pointers to a commit. This can be a tough concept to understand. When TFVC creates a branch, it creates an entire copy of its parent. This ends up taking more space.

Is TFS a version control tool?

TFS is not just a version control tool. Or rather, it is a version control tool -- and an excellent one at that -- but using a version control tool isn't difficult and really doesn't require a lot of thought or acceptance. A version control tool is used by a team or teams and versions their files. That's it.


2 Answers

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.

like image 77
Daniel Mann Avatar answered Sep 27 '22 22:09

Daniel Mann


Team Foundation Server is the server product that acts as a hub for various add-on services.

Team Foundation Service is the online services which give access to TFS and add some additional project ALM tools, it's "TFS in the cloud". It's now known as Visual Studio Team Services Azure DevOps.

Team Foundation Version Control is the actual version control and storage mechanism behind TFS. It is distinctly identified because you can also use Git for the version control of TFS. Check out the related question What are the big differences between TFS and Git for source control when using Visual Studio 2013?

like image 32
slugster Avatar answered Sep 27 '22 21:09

slugster