Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

SubGit, like any other Subversion client, can access a Subversion repository  [auth "default"]by using one of the following 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 usedwhen 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.

...

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.

Note

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.

...

Code Block
[auth "default"]
credentialHelper = PATH [args]

The credentialHelper setting defines a path to a credential helper program and its optional arguments. The path can be either absolute or relative to the Git repository.

The initial SubGit configuration places the sample credential helper script (the credentialHelper.sh file) to the subgit/samples directory in the Git repository.

...

Code Block
[auth "default"]
subversionConfigurationDirectory = PATH
useDefaultSubversionConfigurationDirectory = [true | false]


The subversionConfigurationDirectory setting defines a path to a Subversion directory that stores cached credentials.

The useDefaultSubversionConfigurationDirectory setting specifies whether SubGit will use the default Subversion configuration directory to obtain the authentication data or not.

...

Subversion clients store encrypted passwords in the %APPDATA%\Subversion\auth\svn.simple directory. Passwords are encrypted by the standard Windows cryptographic services.

...

The Subversion authentication realm and usernames are stored in the ~/.subversion/auth/svn.simpledirectory. The encrypted passwords are stored in macOS Keychain.

...

By default, Subversion clients ask permission to store unencrypted passwords in the ~/.subversion/auth/svn.simple simple directory. The secure storage can be provided by the GNOME Keyring, KDE Wallet or GnuPG Agent services.

...

The example below shows how to use the Subversion credentials cache with encrypted passwords on Linux.

Example: Use of credentials cache with encrypted passwords on Linux

...

  1. To enable a password store, in the Subversion configuration file, uncomment a password-stores line and specify the store that you want to enable.

    Note

    Currently, SubGit supports only GNOME Keyring.

    For example, password-stores = gnome-keyring

  2. In a Subversion client, run any command that prompts for the credentials to a Subversion server, for example, svn info url.  After that the credentials cache is stored in a text file in the ~/.subversion/auth/svn.simpledirectory. The encrypted password is stored in GNOME keyring.

...

Code Block
[auth "default"]
sslClientCertFile = PATH
sslClientCertPassphrase = passphrase

The sslClientCertFile setting defines a path to the SSL client certificate file in PKSC#12 format. The path can be either absolute or relative to the Git repository.

The sslClientCertPassphrase setting specifies a passphrase that can be optionally used to protect the SSL certificate.

...

In this case, no additional settings are required in the [auth "default"] section of the SubGit configuration file. SubGit refers to the servers file for an SSL certificate to log in to a Subversion repository.

...

Code Block
[auth "default"]
sshKeyFile = PATH
sshKeyFilePassphrase = passphrase

The sshKeyFile setting defines a path to the file that contains the SSH private key to log in to a Subversion repository. The path can be either absolute or relative to the Git repository.

Note
Make sure that a SubGit user is granted the reading permissions for an SSH private key file.

The sshKeyFilePassphrase setting specifies a passphrase that can be optionally used to protect the SSH private key.

...