Subversion
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 |
---|---|
Specify the SVN URL that points to the project sources. | |
Specify the SVN user name. | |
Specify the SVN password. | |
Check this option to make this the default configuration directory for the SVN connection. | |
If the Default Config Directory option is unchecked, you must specify the configuration directory. | |
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 " |
SSH settings
Option | Description |
---|---|
Specify the full path to the file that contains the SSH private key. | |
Enter the password to the SSH private key. | |
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
|
Revert before update | If the option is selected, then TeamCity always runs " |
Labeling settings
Option | Description |
---|---|
Labeling rules | Specify a newline-delimited set of rules that defines the structure of the repository. See the detailed format description 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 SVN Connection Settings
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
Subversion 1.8 support
Please see this page: Subversion 1.8 support
Timeouts
Sometimes, SVN checkout operation for remote SVN servers may fail with a error like svn: E175002: timed out waiting for server
. Usually this can happen due to network slowness or SVN server overload.
The timeout values for the connection and for read operations can be configured.
Connection timeout
Connection timeout is applied when TeamCity creates a connection to the SVN server. The default timeout for this operation is 60 seconds, and can be specified via TeamCity internal property teamcity.svn.connect.timeout
, in seconds. See below how to set this timeout:
Server-side operations - configure internal property
Agent-side checkout - add start-up property
Read timeout
Read timeout is used when connection with SVN server is established, and TeamCity waits for the data from the server. The value of the timeout depends on SVN server access protocol.
Subversion server access via HTTP/HTTPS (both server/agent)
For HTTP read timeout TeamCity uses the http-timeout
setting specified in the servers
file in the Subversion configuration directory. On Win32 systems, this directory is typically located the Application Data area of the user's profile directory. On Unix/Mac, this directory is usually named $HOME/.subversion for the user account which runs TeamCity server/agent.
If not specified, the default value for the timeout is 1 hour.
Subversion server access via svn:// or svn+ssh://
In this case read timeout can be specified in seconds via TeamCity internal property teamcity.svn.read.timeout
. The default value is 30 minutes. The value of the property should be set differently in cases of server-side checkout and agent-side checkout:
Server-side operations - configure internal property
Agent-side checkout - add start-up property
Miscellaneous
Directories are not considered changed when they have "svn:mergeinfo" Subversion property changes only. See details.