Subversion
This article contains descriptions of Subversion-specific fields and options available when setting up a VCS root.
Common VCS root properties are described here.
tip
You do not need a Subversion client to be installed on the TeamCity server or agents. TeamCity bundles the Java implementation of an SVN client (SVNKit).
Option | Description |
---|---|
URL | Specify the SVN URL that points to the project sources. |
Username | Specify the SVN username. |
Password | Specify the SVN password. |
Configuration directory | You can specify an alternative Subversion configuration directory, or use the default one (recommended). This setting also applies to agent-side checkout. TeamCity does not store authentication in SVN configuration directory, but can read settings stored there. |
Use default configuration directory | Enable this option to make this the default configuration directory for the SVN connection. |
Externals support | Select one of the following options to control the SVN externals processing.
|
HTTPS Connections: Accept non-trusted SSL certificates | If enabled, TeamCity is able to connect to SVN servers without properly signed SSL certificate. |
note
Note that if you have anonymous access for some path within SVN, the entered username will never be used to authenticate when accessing any of its subdirectories. Anonymous access will be used instead. This rule only applies for
svn://
andhttp(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.
Option | Description |
---|---|
Private Key File Path | Specify the full path to the file that contains the OpenSSH\-formatted private key. You can also specify an SSH key uploaded to TeamCity |
Private Key File Password | Enter the password to the SSH private key. |
SSH Port | Specify the port used by SSH. |
Only the OpenSSH format is supported for the key. The key in a format unsupported by TeamCity has to be converted to the OpenSSH format (for example, a Putty private key (*.ppk
) can be converted using PuTTYgen.exe
: see Conversions | Export OpenSSH key).
Option | Description |
---|---|
Working copy format | Select the format of the working copy. Available values for this option are 1.4 through 1.8 (current default).
|
Revert before update | If the option is selected, then TeamCity always runs the |
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. |
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
Sometimes, the SVN checkout operation for remote SVN servers may fail with an 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 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.svn.connect.timeout
property, in seconds.
For agent-side checkout, add a start-up property.
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.
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.
In this case, the read timeout can be specified in seconds via the TeamCity teamcity.svn.read.timeout
internal property. The default value is 30 minutes.
For agent-side checkout, add a start-up property.
TeamCity ignores changes in the svn:mergeinfo
properties and does not consider a directory changed if only these properties are modified in a given commit.
Thanks for your feedback!