TeamCity
 
You are viewing the documentation for an earlier version of TeamCity.

Subversion

Last modified: 20 April 2023

This page contains descriptions of Subversion-specific fields and options available when setting up a VCS root. Common VCS Root properties are described here.

You do not need Subversion client to be installed on the TeamCity server or agents. TeamCity bundles the Java implementation of SVN client (SVNKit).

SVN Connection Settings



SSH settings



Only the OpenSSH format is supported for the key. The key in a format unsupported by TeamCity has to be converted to the the OpenSSH format (e.g. a Putty private key (*.ppk) can be converted using PuTTYgen.exe: see Conversions -> Export OpenSSH key).

Checkout on agent settings



Labeling settings



Authentication for SVN externals



TeamCity does not allow specifying SVN externals authentication parameters explicitly, in user interface. To authenticate on the SVN externals server, the following approaches are used:

  • authenticate using the same credentials (username/password) as for the main repository

  • authenticate without explicit username/password. In this case, the credentials should be already available to the 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 the SVN external URL has the same prefix as the main repository (there is a match > 20 characters), TeamCity tries the main repository credentials first, and in case of a failure tries to connect without the username/password (so they picked up from SVN configuration directory)

  • if the SVN external URL noticeably differs from the main repository, TeamCity tries to connect without the username/password, and in case of a failure, tries using the credentials from the main repository

Timeouts



Sometimes, the 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 the 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 the TeamCity internal property teamcity.svn.connect.timeout, in seconds. The value of the property is set differently for server-side checkout and agent-side checkout:

Read timeout



The read timeout is used when a connection with the SVN server is established, and TeamCity is waiting for the data from the server. The value of the timeout depends on the 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 who runs the 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 the read timeout can be specified in seconds via the TeamCity internal property teamcity.svn.read.timeout. The default value is 30 minutes. The value of the property is set differently for server-side checkout and agent-side checkout:

Miscellaneous



Directories are not considered changed when they have the "svn:mergeinfo" Subversion property changes only. See details.