Home> Products> TeamCity> Features> VCS Integration

Version Control Integration


TeamCity integrates with a number of the most frequently used Version Control Systems, from which it obtains the source files to create your builds, and provides many useful features for customizing the VCS settings.

Tracking Changes

TeamCity constantly monitors the changes developers submit to Version Control and suggests several ways to view and track their status. You can:

  • observe both actual changes that are already included in the build and pending changes
  • Pending Changes
  • navigate to the related issues in a bug tracking system
  • navigate to the source code and view file diffs on the web
  • take responsibility for a failed build, if your changes have caused a build failure
Open the screenshot in a new browser window

Open the screenshot in a new browser window

The My Changes page shows the list of builds that contain changes, committed by the developer that are already included in builds.

to the top

File Diffs on the Web

Open the screenshot in a new browser window

Open the screenshot in a new browser window

View file differences on the web just like in the IDE and navigate to the project source base from the web.

to the top

VCS Triggering Possibilities

TeamCity constantly scans all of the build configurations' VCS roots and triggers builds if changes are found. You can also configure rules that prevent build triggering when:

You can also use a special syntax which will allow you to ignore changes:

  • changes are submitted to certain parts of the VCS roots (e.g. src/help)
  • certain types of files are checked in (e.g. **.html)
  • check ins performed by particular users

You can also use a special syntax which will allow you to ignore changes.

You can now set the "quiet period" — the amount of time that must pass before Team City will start the build when nothing was committed to the VCS roots of the particular build configuration.

Quiet Period

to the top

VCS Labeling

TeamCity can optionally add a label into Version Control for the sources used for a particular build. You can choose to apply the VCS label for all builds or only for successful ones.

In addition to automatic build labeling, you can also manually label the sources used for a build by clicking the Label this build sources link of the Build Results page.

TeamCity has integrated labeling for the following Version Control Systems:

  • IBM Rational ClearCase (Base and UCM)
  • CVS
  • Perfore
  • Borland StarTeam
  • Subversion

Labeling

to the top

Customizable Checkout Rules

Open the screenshot in a new browser window

Open the screenshot in a new browser window

VCS Checkout Rules allow you to exclude and map paths (copy directories and all their contents) to a different location on the Build Agent during the checkout process.

to the top

Shareable VCS Configurations

Open the screenshot in a new browser window

Open the screenshot in a new browser window

To provide more a flexible means of configuring projects and using project VCS settings, TeamCity can now makes the same VCS roots available for different projects by sharing them. TeamCity always monitors changes made to shared VCS roots so your changes won't disturb other projects.

to the top