Configuring VCS Roots

Search
Searching TeamCity 4.x Documentation
Table of Contents

A VCS Root is a set of settings that defines how TeamCity communicates with a version control (SCM) system to monitor for changes and to get sources for a build.

TeamCity regularly queries the version control system for new changes and displays the changes in the Build Configurations that have the root attached. When a build starts, TeamCity gets the changed files from the version control and applies the changes into the Build Checkout Directory.

A Build Configuration can have several VCS Roots attached to it.

VCS roots are configured on the Version Control Settings page of a build configuration.

Note to users upgrading from version 2.1.1
Starting with TeamCity version 3.0, VCS roots are specific to build configurations rather than projects.
System time at the VCS server, TeamCity server and TeamCity agent (only if agent-side checkout is used) machines must be synchronized.
This requirement applies, if you use the following version controls:
  • CVS
  • ClearCase
  • StarTeam, if the audit is disabled or the server is older than 9.0.
  • Subversion repositories connected through externals to the main repository defined in the VCS root.

Shared VCS Roots

By default, the same VCS root(s) can be used by all of the project's build configurations. They can also be used by different projects when VCS Roots Sharing is enabled on the New or Edit VCS Roots page. Sharing VCS roots saves the administrator's time and the hassle of creating and maintaining identical VCS roots in the repository.

If someone attempts to modify a VCS root that is shared, TeamCity will issue a warning that the changes to the VCS root could potentially affect more that one project. The user is then prompted to either save the changes and apply them to all the projects using the VCS root, or to make a copy of the VCS root for use by either a specific build configuration or project.




See Also:

Labels