Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Access methods to a Subversion repository

SubGit, like any other Subversion client, can access a Subversion repository by using one of the following protocols.

Table 1. Subversion repository access protocols

ProtocolAccess Method
file://
Direct repository access.
svn://
Access via custom protocol to the svnserve server.
svn+ssh://
Same as svn://, but through an SSH tunnel.
http(s)://
Access through a web server (usually Apache)
with possible SSL encryption.

The access via file:// can be used when both Subversion and Git repositories are hosted on the same machine. In this case, the local operating system account is used for authentication and no additional settings are required.

All the other access methods to a Subversion repository require the appropriate authentication settings for SubGit.

Obtaining the authentication data for a Subversion repository

SubGit obtains the authentication data from the [auth default] section of the SubGit configuration  file that is located at GIT_REPO/subgit/config.

Depending on the configuration, your Subversion server can request the following authentication  data to log in to a Subversion repository:

  • a username and a password
  • an SSL client certificate
  • an SSH private key

In the [auth "default"] section of the SubGit configuration file, you can specify the authentication settings depending on the authentication data that is required to log in to a Subversion repository.

Specifying a username and a password

You can specify credentials to log in to a Subversion repository in the following settings:

[auth "default"]
userName = 
password = 
passwords =
credentialHelper =
subversionConfigurationDirectory = 
useDefaultSubversionConfigurationDirectory =

SubGit refers to these settings in the sequence presented below. If some setting is not specified or the credentials fetched from the setting are not valid, SubGit refers to the next one until it is able to log in to a Subversion repository.

  1. The userName and password settings.
  2. The passwords setting that refers to the passwords file for a username-password pair.
  3. A credential helper program.
  4. Subversion credentials cache from the Subversion client configuration directory.

If none of the settings is specified or fetched credentials are not valid, SubGit reports the authentication error.

The userName and password settings

The userName and password settings specify a username and a password to access a Subversion repository.


The password is stored as plain text. For security reason, it is recommended to limit the access to the SubGit configuration file.

The passwords setting

The passwords setting defines a path to the passwords file that can contain the list of username-password pairs to log in to a Subversion repository. The path can be either absolute or relative to the Git repository.

The default value:

[auth "default"]
passwords = subgit/passwd

The default password file is located in the subgit directory within a Git repository. In this file, you can specify the list of username-password pairs as plain text in the following format:

svnUserName svnUserPassword

The credentials from the passwords file may be used for mapping Git authors to Subversion revision authors when you translate Git commits to Subversion revisions. For the mapping purpose, you can specify the list of available usernames and passwords in the passwords file, though it is not obligatory. For more information on authors mapping, refer to the Authors Mapping section.

When you have several Git repositories mapped from the same Subversion repository, you can log in to this Subversion repository using a single passwords file.



  • No labels