Team Foundation Source Control
Team Foundation source control provides standard source-code version control functionality, which can scale to handle thousands of developers. Beyond the typical source control functionality, Team Foundation is also an enterprise class software configuration management product that provides integrated version control, issue tracking, and process management for development teams.
Team Foundation source control includes the following features:
Complete version control feature set.
Check-ins on a one change at a time basis.
Powerful branching and merging.
Besides being integrated into the Visual Studio environment with other Team Foundation technologies, such as creating a build and work item tracking, the source control also includes a stand-alone graphical user interface and a command line interface.
Source Control User Roles
There are two primary types of roles that use Team Foundation source control.
Contributor A contributor is a user of Team Foundation source control who is primarily concerned with adding, deleting, and modifying files in the source control server. This role is most frequently associated with software developers working on a software project; however, because not all files that are contained in the source control server are necessarily source code files, the contributor role is not limited to developers. For example, a contributor could be a technical writer whose product is documentation, or a graphic artist whose product is a binary image file.
A contributor uses Team Foundation source control as a mechanism for sharing their work with other contributors, for maintaining a historical view of all changes which have been introduced by all contributors, and for archiving their work in a central location that can be backed up for redundancy.
A contributor will use Team Foundation source control to:
Retrieve files from the source control server.
Check out files for modification.
Check in modified files.
Add files to the source control server.
Delete files from the source control server.
Merge changes between files.
Administrator The second role is an administrator who is concerned more with the administration of the source control server and the use of the files that it contains for creating a reproducible software build. An administrator is responsible for maintaining the integrity of data stored in the software configuration management system. This task differs based on a particular system; however it usually involves managing access to the source control server and enforcing a backup policy for data that it contains. Because the software configuration management system is the storehouse for the intellectual property of the company, the administrator has ultimate responsibility for ensuring the availability and the integrity of the corporate intellectual property.
The administrator is responsible for managing the workgroups, permissions, handling setup, installing security updates and all other information technology related work.
The administrator is responsible for managing and branching the various code lines in the source control server according to the configuration management methodology being employed by the team. Typically, the software configuration management engineer is the one who enforces policies, such as which branches are writeable and when a branch should be created.
The administrator might also be responsible for merging changes between branches; however, this role is frequently trusted to contributors in most environments. The administrator might also be responsible for producing a reproducible build from the files placed in the software configuration management system. To this extent, the administrator needs the ability to mark a snapshot of the files during the build process for later retrieval. The administrator might also have to archive and version the intermediate and final output of the build process for later review.
An administrator will use Team Foundation source control to:
Branch code files in the source control server.
Label a snapshot of the current development state.
Merge changes between source control server branches.
In This Section
- Introduction to Team Foundation for Visual SourceSafe Users
Provides guidance for users migrating from a Visual SourceSafe environment to Team Foundation source control.
- How to: Configure Team Foundation Source Control to use Proxy Server
Describes how to setup your computer to use Team Foundation Server Proxy.
- How to: Change Source Control Environment Settings
Describes changing default values for common environment settings.
- How to: Configure Source Control User Tools
Describes how to specify user tools for operations on various file types.
- How to: Clean Up Files When Users Leave
Explains how to dispose of a user's files once they are no longer on your team.
- Team Foundation Source Control Naming Syntax, Conventions, and Limitations
Describes naming syntax, conventions and limitation applicable for Team Foundation source control.
- Using Source Control Explorer
Describes how Source Control Explorer is used for conducting source control operations within a Team Foundation Visual Studio client.
- Team Foundation Source Control Walkthroughs
Lists walkthroughs that explore using source control, customizing a source control check-in and using source control from the command line.
- Administering Team Foundation Source Control
Lists topics that apply to administrators of Team Foundation source control.