This page contains descriptions of the fields and options available when setting up VCS roots using Subversion:
You do not need Subversion client to be installed on TeamCity server or agents. TeamCity bundles Java implementation of SVN client (SVNKit).
SVN Connection Settings
Option
Description
URL
Specify the SVN URL that points to the project sources.
User Name
Specify the SVN user name.
Password
Specify the SVN password.
Default Config Directory
Check this option to make this the default configuration directory for the SVN connection.
Configuration Directory
If the Default Config Directory option is checked, you must specify the configuration directory.
Externals Support
Check one of the following options to control the SVN externals processing
Full support (load changes and checkout)
If selected, TeamCity will check out all configuration's sources (including sources from the externals) and will gather and display information about externals' changes in the Changes tab.
Checkout, but ignore changes
If selected, TeamCity will check out the sources from externals but any changes in externals' source files will not be gathered and displayed in the Changes tab. You might use this option if you have several SVN externals and do not want to get information about any changes made in the externals' source files.
Ignore externals
If selected, TeamCity will ignore any configured "svn:externals" property, and thus TeamCity will not check for changes or check out any source file from the SVN externals.
note
Note that if you have anonymous access for some path within SVN, entered username will never be used to authenticate when accessing any of its subfolders. Anonymous access will be used instead. This rule only applies for svn:// and http(s):// protocols.
I.e. if you have a build configuration, which uses a combination of this VCS Root + VCS Checkout Rules referencing a non-restricted path above the restricted one for another build configuration, changes under the restricted path will be ignored even if you specify correct username/password for the VCS Root itself.
SSH settings
Option
Description
Private Key File Path
Specify the full path to the file that contains the SSH private key.
Private Key File Password
Enter the password to the SSH private key.
SSH Port
Specify the port that SSH is using.
Checkout on agent settings
Option
Description
Working copy format
Select format of the working copy. Available values for this option are 1.4 (used as default in versions previous to TeamCity 5.0), 1.5 (current default), and 1.6. This option defines format version of Subversion files, which are located in .svn directories, when checkout on agent mode is used. Specified format is important in two cases:
If you run command-line svn commands on the files checked out by TeamCity. For example, if your working copy has version 1.5, you will not be able to use Subversion 1.4 binaries to work with it.
If you use new Subversion features; for example, file-based externals which were added in Subversion 1.6. Thus, unless you set the working copy format to 1.6, the file-based externals will not be available in checkout on agent mode.
Revert before update
If the option is selected, then TeamCity always runs "svn revert" command before updating sources; that is, it will revert all changes in versioned files located in the working directory. When the option is disabled, and local modifications are detected during the update process, TeamCity runs "svn revert" after the update. TeamCity does not delete non-versioned files in working directory during the revert.
Labeling settings
Option
Description
Labeling rules
Specify a newline-delimited set of rules that defines the structure of the repository. See the VCS Labeling for more details.
Authentication for SVN externals
TeamCity doesn't allow to specify SVN externals authentication parameters explicitly, in user interface. To authenticate on the SVN externals server, the following approaches are used:
authenticate using same credentials (username/password) as for main repository
authenticate without explicit username/password. In this case, credentials should be already available to svn process (usually, they stored in subversion configuration directory). So, this require setting correct "Configuration Directory" or "Default Config Directory" option under svnConnectionSettings
When TeamCity has to connect to a SVN external, it uses the following sequence:
if SVN external URL has the same prefix, as the main repository (there is a match > 20 characters), TeamCity tries main repository credentials first, and if failed, tries to connect without username/password (so they picked up from SVN configuration directory)
if SVN external URL noticeably differs from the main repository, TeamCity tries to connect without username/password, and if failed, tries using credentials from the main repository