If you have been developing for any length of time, chances are you have used some sort of version control system. Whether it is an expensive third-party product, a free open-source application, or just a series of directories where you manually copy code after each release or major change, you are implementing some form of change tracking.
Team Foundation Server goes a step beyond most other source control systems with Team Foundation Version Control. This is not just a new version of Visual SourceSafe. This is an enterprise-level version control system, built from the ground up to work with teams both small and large. It makes use of the Team Foundation Server data tier to store all data related to the version control system. It uses Web services on the Team Foundation Server application tier to communicate with the data tier. However, the biggest way in which it differentiates itself from other version control systems is in the way it ties into Team Foundation work item tracking. You can now associate the code you are working on with the problem it is trying to fix. This gives you a completely new level of depth and understanding to your source code, and is just one more way that Team Foundation Server shines.
In this chapter, you are going to learn about Team Foundation Version Control (TFVC). You'll start out by examining some of the current source control systems in use today. From there you will move on to some of the common concepts used in version control systems, and will examine how Team Foundation Version Control implements those concepts. After that you'll get into the essentials of Team Foundation Version Control, including how to configure your team projects to use it, use of the Source Control Explorer, and some of the new features included in TFVC, such as shelving.
Next, you'll take a detailed look at how to convert your old Visual SourceSafe information into Team Foundation Version Control. You'll look at the tools provided by Microsoft, as well as a third-party tool, VS-Converter. You'll learn some best practices for using Team Foundation Version Control to its fullest potential. And to wrap it all up, you'll look at how you can extend Team Foundation Version Control to meet specific needs in your organization.
That's a lot to cover, so let's get started!