This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.

Zone de configuration des exécutables

Subversion permet à l'utilisateur de contrôler finement son comportement. Beaucoup d'options ont vocation à s'appliquer à l'ensemble des opérations de Subversion. Ainsi, plutôt que de forcer les utilisateurs à se souvenir d'arguments en ligne de commande pour spécifier ces options et de les utiliser à chaque invocation, Subversion utilise des fichiers de configuration, conservés dans une zone de configuration spécifique à Subversion.

La zone de configuration Subversion consiste en une hiérarchie à deux niveaux constituée de noms d'options et de leurs valeurs. Habituellement, cela se traduit par un répertoire dédié qui contient les fichiers de configuration (le premier niveau) : des fichiers texte au format standard INI (dont les « sections » constituent le deuxième niveau). Vous pouvez facilement éditer ces fichiers à l'aide de votre éditeur de texte favori (tel qu'Emacs ou vi). Ils contiennent des directives lues par le client Subversion afin de déterminer le comportement par défaut choisi par l'utilisateur.

Agencement de la zone de configuration

La première fois que le client texte interactif svn est exécuté, il crée une zone de configuration propre à l'utilisateur. Sur les systèmes de type Unix, cette zone est un répertoire nommé .subversion dans le répertoire personnel de l'utilisateur. Sur les systèmes Windows, Subversion crée un dossier nommé Subversion, généralement dans la zone Application Data du répertoire qui contient le profil de l'utilisateur (qui est habituellement, au passage, un répertoire caché). Cependant, sur cette plateforme, l'emplacement exact du profil utilisateur varie d'un système à l'autre et est dicté par la base de registre Windows[74]. Nous nous référons à cette zone de configuration propre à l'utilisateur en utilisant son nom Unix : .subversion.

En plus de la zone de configuration propre à l'utilisateur, Subversion reconnaît l'existence d'une zone de configuration globale pour le système. Cela permet aux administrateurs du système d'établir une configuration par défaut pour l'ensemble des utilisateurs d'une machine donnée. Notez que la zone de configuration globale seule ne fixe pas de politique obligatoire : les réglages de l'utilisateur sont prioritaires par rapport aux réglages globaux et les options de la ligne de commande ont toujours le dernier mot. Sur les plateformes de type Unix, la zone de configuration globale doit se trouver dans le répertoire /etc/subversion ; sur les machines Windows, Subversion cherche un répertoire Subversion dans le dossier commun Application Data (là encore, l'endroit exact dépend de la base de registre Windows). Au contraire de la zone propre à l'utilisateur, le programme svn ne tente pas de créer la zone de configuration globale.

La zone de configuration propre à l'utilisateur contient actuellement trois fichiers : deux fichiers de configuration (config et servers) et un fichier README.txt qui décrit le format INI. Lors de leur création, ces fichiers contiennent les valeurs par défaut de toutes les options supportées par Subversion, généralement mises en commentaire et groupées avec une description textuelle de l'effet de la clé sur le fonctionnement de Subversion. Pour modifier un comportement précis, il suffit de charger le fichier de configuration dans un éditeur de texte et de changer la valeur de l'option correspondante. Si, par la suite, vous voulez rétablir les valeurs par défaut, vous n'avez qu'à supprimer ou renommer votre répertoire de configuration puis lancer une commande svn inoffensive, telle que svn --version. Un nouveau répertoire de configuration sera créé, qui contiendra les valeurs par défaut.

Subversion vous permet de supplanter chaque valeur des options de configuration avec l'option --config-option, ce qui peut s'avérer pratique si vous devez modifier (très) temporairement le comportement de l'application. Pour plus d'informations sur l'utilisation de cette option, reportez-vous à Options de svn.

La zone de configuration propre à l'utilisateur contient également un cache pour les données d'authentification. Le répertoire auth héberge un ensemble de sous-répertoires qui contiennent des informations mises en cache, relatives aux différentes méthodes d'authentification utilisées par Subversion. Ce répertoire est créé de telle manière que seul l'utilisateur concerné ait accès à son contenu.

Configuration via la base de registre Windows

En plus de la zone de configuration classique contenant les fichiers INI, les clients Subversion qui tournent sur une plateforme Windows peuvent aussi utiliser la base de registre Windows pour stocker leurs données de configuration. Les noms des options et leurs valeurs sont les mêmes que dans les fichiers INI. La hiérarchie « fichier/section » est également présente, bien que traitée de manière légèrement différente : dans ce cas, les fichiers et les sections sont juste des niveaux dans l'arborescence des clés de registres.

Subversion cherche les valeurs de configuration applicables à tout le système sous la clé HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion. Par exemple, l'option global-ignores, qui se trouve dans la section [miscellany] du fichier config, est située dans HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores. Les valeurs propres à un utilisateur doivent être stockées sous HKEY_CURRENT_USER\Software\Tigris.org\Subversion.

Les options de configuration de la base de registre sont analysées avant les options des fichiers INI ; elles sont donc supplantées par les valeurs trouvées dans les fichiers de configuration. En d'autres termes, Subversion cherche les options de configuration dans l'ordre suivant sur un système Windows (les plus prioritaires sont citées en premier) :

  1. les options en ligne de commande ;

  2. les fichiers INI propres à l'utilisateur ;

  3. les valeurs de la base de registre propres à l'utilisateur ;

  4. les fichiers INI applicables à l'ensemble du système ;

  5. les valeurs de la base de registre applicables à l'ensemble du système.

Par ailleurs, la base de registre Windows ne comprend pas vraiment la notion de « mise en commentaire ». Cependant, Subversion ignorera toute clé dont le nom commence par le caractère dièse (#). Cela vous permet de mettre en commentaire efficacement une option Subversion sans avoir à effacer entièrement la clé de la base de registre, ce qui simplifie clairement la procédure de restauration de l'option.

Le client texte interactif svn n'écrit jamais dans la base de registre et ne tentera pas d'y créer une zone de configuration par défaut. Vous pouvez créer les clés dont vous avez besoin en utilisant le programme REGEDIT. Une autre façon de faire consiste à créer un fichier .reg (tel que celui donné dans l'Exemple 7.1, « Exemple de fichier de modification de la base de registre (.reg) ») puis à double-cliquer sur l'icône de ce fichier dans l'explorateur Windows afin d'appliquer les modifications à votre base de registre.

Exemple 7.1. Exemple de fichier de modification de la base de registre (.reg)

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\groups]

[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global]
"#http-auth-types"="basic;digest;negotiate"
"#http-compression"="yes"
"#http-library"=""
"#http-proxy-exceptions"=""
"#http-proxy-host"=""
"#http-proxy-password"=""
"#http-proxy-port"=""
"#http-proxy-username"=""
"#http-timeout"="0"
"#neon-debug-mask"=""
"#ssl-authority-files"=""
"#ssl-client-cert-file"=""
"#ssl-client-cert-password"=""
"#ssl-pkcs11-provider"=""
"#ssl-trust-default-ca"=""
"#store-auth-creds"="yes"
"#store-passwords"="yes"
"#store-plaintext-passwords"="ask"
"#store-ssl-client-cert-pp"="yes"
"#store-ssl-client-cert-pp-plaintext"="ask"
"#username"=""

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]
"#password-stores"="windows-cryptoapi"

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers]
"#diff-cmd"=""
"#diff-extensions"="-u"
"#diff3-cmd"=""
"#diff3-has-program-arg"=""
"#editor-cmd"="notepad"
"#merge-tool-cmd"=""

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\tunnels]

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"#enable-auto-props"="no"
"#global-ignores"="*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store"
"#interactive-conflicts"="yes"
"#log-encoding"=""
"#mime-types-file"=""
"#no-unlock"="no"
"#preserved-conflict-file-exts"="doc ppt xls od?"
"#use-commit-times"="no"

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]

L'exemple précédent présente le contenu d'un fichier .reg qui contient quelques-unes des options les plus communément utilisées et leurs valeurs par défaut. Notez la présence de réglages propres à l'utilisateur (notamment l'éditeur de texte et le stockage des mots de passe) ainsi que des réglages applicables à l'ensemble du système (comme les options relatives au mandataire réseau). Notez également que toutes les options sont mises en commentaire. Il ne vous reste qu'à supprimer le caractère dièse (#) initial des noms d'options et à leur affecter la valeur que vous souhaitez.

Options de configuration

Dans cette section, nous allons nous intéresser aux options de configuration des programmes que la version actuelle de Subversion comprend.

Configuration générale

Le fichier config contient le reste des options de configuration de Subversion, celles qui ne concernent pas le réseau. Actuellement, il n'existe que quelques options mais elles sont tout de même regroupées dans des sections en vue d'ajouts futurs.

La section [auth] contient les paramètres liés à l'authentification et aux droits sur le dépôt. Il contient les paramètres suivants :

password-stores

Cette liste délimitée par des virgules spécifie quel magasin de stockage de mot de passe (s'il en existe) Subversion doit utiliser pour sauver et récupérer les éléments d'authentification. Elle indique également dans quel ordre Subversion doit les essayer. La valeur par défaut est gnome-keyring, kwallet, keychain, gpg-agent, windows-crypto-api qui désigne respectiviement le trousseau GNOME, celui de KDE, celui de Mac OS X, l'agent GnuPG et l'API cryptographique de Microsoft Windows. Les magasins qui ne sont pas disponibles sur le système sont ignorés.

store-passwords

Cette option est obsolète dans le fichier config. Elle fait maintenant partie de la configuration propre à chaque serveur dans le fichier servers. Reportez-vous à la section intitulée « Configuration spécifique à un serveur » pour plus de détails.

store-auth-creds

Cette option est obsolète dans le fichier config. Elle fait maintenant partie de la configuration propre à chaque serveur dans le fichier servers. Reportez-vous à la section intitulée « Configuration spécifique à un serveur » pour plus de détails.

La section [helpers] contrôle quelles applications tierces Subversion utilise pour accomplir certaines tâches. Les options licites pour cette section sont :

diff-cmd

Spécifiez ici le chemin absolu vers un programme que Subversion utilisera pour générer l'affichage « diff » (celui produit par la commande svn diff). Par défaut, Subversion utilise une bibliothèque interne pour les deltas. Si vous spécifiez une valeur, Subversion utilisera ce programme tiers. Lisez la section intitulée « Utilisation des outils externes de comparaison et de fusion » pour plus de détails sur l'utilisation de tels programmes.

diff-extensions

Comme pour l'option en ligne de commande --extensions (-x), spécifiez ici les options complémentaires que vous souhaitez passer au programme tiers des deltas. L'ensemble des options ayant un sens varie en fonction du programme utilisé pour traiter les deltas. Lisez la sortie produite par svn help diff pour obtenir des détails. La valeur par défaut de cette option est -u.

diff3-cmd

Spécifiez ici le chemin absolu vers un programme de traitement des deltas à trois entrées. Subversion utilisera ce programme pour fusionner les changements effectués par l'utilisateur avec ceux reçus par le dépôt. Par défaut, Subversion utilise une bibliothèque interne de traitement des deltas. Si vous spécifiez une valeur, Subversion utilisera ce programme tiers. Reportez-vous à la section intitulée « Utilisation des outils externes de comparaison et de fusion » pour plus de détails sur l'utilisation de tels programmes.

diff3-has-program-arg

Cette option binaire doit être positionnée à true si le programme spécifié par l'option diff3-cmd accepte comme paramètre l'option --diff-program.

editor-cmd

Spécifiez ici le programme que Subversion utilisera pour demander à l'utilisateur de renseigner des métadonnées ou pour résoudre des conflits de manière interactive. Lisez la section intitulée « Utilisation d'éditeurs externes » pour plus de détails sur l'utilisation d'éditeurs de textes tiers avec Subversion.

merge-tool-cmd

Spécifiez ici le programme tiers que Subversion utilisera pour effectuer des fusions à trois entrées sur vos fichiers suivis en versions. Lisez la section intitulée « Utilisation des outils externes de comparaison et de fusion » pour plus de détails sur l'utilisation de tels programmes.

La section [tunnels] vous permet de définir des tunnels lors de l'utilisation de svnserve avec le protocole de connexion svn://. Pour plus de détails, lisez la section intitulée « Encapsulation de svnserve dans un tunnel SSH ».

La section [miscellany] contient tout ce qui n'a pas été mis ailleurs[75]. Dans cette section, vous trouverez :

enable-auto-props

Elle demande à Subversion d'ajouter automatiquement des propriétés sur les fichiers ajoutés ou importés. La valeur par défaut est no (c'est-à-dire non), vous devez donc la basculer sur yes pour activer la fonctionnalité. La section [auto-props] de ce fichier spécifie quelles propriétés doivent être définies sur ces fichiers.

global-ignores

Lorsque vous lancez la commande svn status, Subversion liste les fichiers et dossiers non suivis en versions avec ceux suivis en versions, en les notant avec le caractère ? (voir la section intitulée « Vue d'ensemble des changements effectués »). Parfois, il n'est pas commode de voir ces éléments non suivis en versions sans intérêt (par exemple les fichiers objets produits par la compilation du programme) dans la sortie de la commande. L'option global-ignores est une liste de motifs, séparés par des espaces, qui décrit les noms de fichiers et dossiers que Subversion doit ignorer sauf s'ils sont suivis en versions. La valeur par défaut est *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store.

De la même façon que svn status, les commandes svn add et svn import ignorent les fichiers qui correspondent aux éléments de la liste quand ils passent en revue un dossier. Vous pouvez redéfinir ce comportement pour une exécution de chacune de ces commandes en spécifiant explicitement le nom de fichier ou en utilisant l'option binaire --no-ignore en ligne de commande.

Pour plus d'informations sur la gestion des éléments à ignorer, reportez-vous à la section intitulée « Occultation des éléments non suivis en versions ».

interactive-conflicts

C'est une option booléenne qui spécifie si Subversion doit essayer de résoudre les conflits en mode interactif. Si cette valeur est yes (ce qui est la valeur par défaut), Subversion demandera à l'utilisateur d'indiquer comment traiter les conflits comme cela a été montré dans la section intitulée « Résolution des conflits ». Sinon, il annotera les fichiers comme étant en conflit et continue son opération, reportant la résolution à plus tard.

log-encoding

Cette variable définit l'encodage des caractères pour les commentaires de propagations. C'est une forme permanente de l'option --encoding (voir Options de svn). Le dépôt Subversion stocke les commentaires de propagation en UTF-8 et suppose que vos commentaires de propagations sont écrits en utilisant l'encodage par défaut de votre système. Vous pouvez donc spécifier ici l'encodage utilisé pour vos commentaires de propagation si ceux-ci sont écrits en utilisant un encodage différent.

mime-types-file

Cette option, apparue avec Subversion 1.5, spécifie le chemin d'un fichier de correspondance pour les types MIME, sur le même modèle que le fichier mime.types des serveurs HTTP Apache. Subversion utilise ce fichier pour associer un type MIME aux fichiers qui viennent d'être ajoutés ou importés. Lisez la section intitulée « Configuration automatique des propriétés » et la section intitulée « Type de contenu des fichiers » pour plus d'informations sur la détection et l'utilisation du type des fichiers par Subversion.

no-unlock

Cette option booléenne correspond à l'option --no-unlock de la commande svn commit. Elle indique à Subversion de ne pas libérer les verrous posés sur les fichiers que vous venez de propager. Si cette option est définie à yes, Subversion ne libérera jamais automatiquement les verrous, il vous laissera le soin de lancer explicitement la commande svn unlock. La valeur par défaut est no.

preserved-conflict-file-exts

La valeur de cette option est une liste d'extensions de fichiers (séparées par des espaces) que Subversion doit préserver quand il génère des noms de fichiers lors des conflits. Par défaut, cette liste est vide. C'est une nouvelle option apparue dans Subversion 1.5.

Quand Subversion détecte des conflits dans les modifications effectuées sur un fichier, il soumet la résolution de ces conflits à l'utilisateur. Pour aider l'utilisateur à les résoudre, Subversion garde une copie originale des différentes versions en lice du fichier dans la copie de travail. Par défaut, ces fichiers ont des noms construits en ajoutant au nom de fichier original une extension particulière telle que .mine ou .REV (où REV est un numéro de révision). Ceci peut être gênant sur les systèmes d'exploitation qui utilisent les extensions de noms de fichiers pour déterminer l'application par défaut à utiliser pour ouvrir et éditer le fichier, le fichier avec la nouvelle extension n'étant plus automatiquement ouvert dans l'application prévue. Par exemple, si le fichier NotesDeVersion.pdf est en conflit, les fichiers générés risquent de s'appeler NotesDeVersion.pdf.mine ou NotesDeVersion.pdf.r4231. Bien que votre système soit peut-être configuré pour ouvrir les fichiers .pdf avec Acrobat Reader, il n'existe sûrement pas d'application préconfigurée pour ouvrir les fichiers avec l'extension .r4231.

Vous pouvez arranger cela en utilisant cette option de configuration. Pour les fichiers dont l'extension est spécifiée, Subversion ajoutera au nom des fichiers générés l'extension particulière liée au conflit, mais il rajoutera aussi à la suite l'extension originale. Dans l'exemple précédent, en supposant que pdf est une des extensions configurée dans la liste ci-dessus, les noms des fichiers générés pour NotesDeVersion.pdf vont être NotesDeVersion.pdf.mine.pdf et NotesDeVersion.pdf.r4231.pdf. Comme chaque fichier se termine par .pdf, l'application appropriée sera utilisée pour les visualiser.

use-commit-times

Normalement, les fichiers de votre copie de travail ont un horodatage qui indique la dernière fois qu'ils ont été modifiés par une action, que ce soit votre éditeur ou une commande svn. C'est généralement le comportement attendu par les développeurs de logiciels, car les chaînes de compilation utilisent souvent ces horodatages pour déterminer quels fichiers ont besoin d'être recompilés.

Toutefois, il existe certaines situations où l'on désire que l'horodatage des fichiers de la copie de travail indique la dernière modification dans le dépôt. La commande svn export fixe toujours l'horodatage sur les arborescences qu'elle produit à l'« horodatage de la dernière propagation ». En configurant cette variable à yes,les commandes svn checkout, svn update, svn switch et svn revert fixeront l'horodatage des fichiers qu'elles modifient à l'horodatage de la dernière propagation.

La section [auto-props] contrôle la possibilité par le client Subversion de positionner automatiquement certaines propriétés sur les fichiers qui sont ajoutés ou importés. Elle contient un nombre arbitraire de paires clé-valeur au format MOTIF = NOM_PROPRIETE=VALEUR[;NOM_PROPRIETE=VALEUR ...], où MOTIF est un motif de nom de fichier qui correspond à un ou plusieurs noms de fichiers et le reste de la ligne est une liste d'affectations (séparées par des points-virgules) de valeurs à des propriétés. Si vous avez besoin de points-virgules dans les noms de propriétés ou pour leurs valeurs, vous pouvez « échapper » ce caractère en le doublant.

$ cat ~/.subversion/config
…
[auto-props]
*.c = svn:eol-style=native
*.html = svn:eol-style=native;svn:mime-type=text/html;; charset=UTF8
*.sh = svn:eol-style=native;svn:executable
…
$ cd projets/mon-projet
$ svn status
?       www/index.html
$ svn add www/index.html
A         www/index.html
$ svn diff www/index.html
…

Modification de propriétés sur www/index.html
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/html; charset=UTF8
Added: svn:eol-style
## -0,0 +1 ##
+native
$

Si un nom de fichier correspond à plusieurs motifs, autant de propriétés seront positionnées ; cependant, il n'y a aucune garantie que les auto-props seront appliquées dans l'ordre dans lequel elles apparaissent dans le fichier config ; il ne faut donc pas définir de règles susceptibles d'en écraser d'autres. Vous pouvez trouver de nombreux exemples d'utilisation d'auto-props dans le fichier config. Enfin, n'oubliez pas de positionner enable-auto-props à yes dans la section [miscellany] si vous voulez activer auto-props.

Depuis Subversion 1.8 la section [working-copy] permet de configurer les copies de travail. Les options reconnues dans cette section sont :

exclusive-locking-clients

Cette option active le verrouillage exclusif de SQLite pour le client, ce qui permet d'améliorer les performances dans le cas de copies de travail stockées sur des disques réseaux. En affectant svn à cette variable, vous demandez au client texte interactif de Subversion d'utiliser le verrouillage exclusif. Cela diminue le temps pris par le verrouillage, mais cela signifie qu'un seul client Subversion pourra accéder à la copie de travail à la fois. Un deuxième client qui essaie d'accéder à la copie de travail verrouillée sera bloqué pendant dix secondes puis recevra une erreur. Dans la plupart des cas, le verrouillage partagé est préférable mais si la copie de travail est stockée sur un disque réseau plutôt que sur un disque local, le temps de verrouillage est plus significatif. Lorsque vous travaillez sur de grosses copies de travail sur des disques réseau, le verrouillage exclusif peut apporter une amélioration sensible des performances, en étant jusqu'à deux ou trois fois plus rapide dans certains cas. Cette option est apparue dans Subversion 1.8.

exclusive-locking

En affectant true à cette variable, vous activez le verrouillage exclusif SQLite des copies de travail pour tous les clients Subversion 1.8. L'activation de cette option peut engendrer des erreurs sur certains clients. La valeur par défaut est false. Cette option est apparue avec Subversion 1.8.

Configuration spécifique à un serveur

Le fichier servers contient les options de configuration relatives aux couches réseau. Il y a deux sections spéciales dans ce fichier : [groups] et [global]. La section [groups] n'est rien d'autre qu'un tableau de références croisées. Les clés de cette section sont les noms des autres sections du fichier ; ses valeurs sont des globs (des représentations textuelles qui peuvent contenir des caractères joker) qui sont comparés aux noms des machines auxquelles des requêtes Subversion sont envoyées.

[groups] 
babasses-red-beans = *.red-bean.com
collabnet = svn.collab.net

[babasses-red-beans]
…

[collabnet]
…

Quand vous utilisez Subversion en réseau, il essaie de faire correspondre le nom du serveur auquel il tente de se connecter avec un nom de groupe de la section [groups]. Si une correspondance existe, Subversion vérifie alors s'il existe dans le fichier servers une section dont le nom est le nom du groupe correspondant. Le cas échéant, il tire de cette section la configuration réseau à appliquer.

La section [global] contient la configuration à appliquer à tous les serveurs qui ne correspondent à aucun glob de la section [groups]. Les options disponibles dans cette section sont exactement les mêmes que pour les autres sections du fichier (exceptée bien sûr la section spéciale [groups]) et sont :

http-auth-types

C'est une liste (dont les éléments sont séparés par des points-virgules) de méthodes d'authentification que le client acceptera. Les méthodes valides sont basic, digest et negotiate, sachant que le comportement par défaut est d'accepter n'importe quelle méthode. Un client qui ne veut pas transmettre en clair ses éléments d'authentification peut, par exemple, affecter la valeur digest;negotiate à cette option (et ne mentionnera donc pas basic). Notez que cette option n'est prise en compte que par le module Subversion pour les accès HTTP basé sur la bibliothèque Neon.

http-compression

Cette option spécifie si Subversion doit envoyer des requêtes réseau compressées vers les serveurs DAV. La valeur par défaut est yes (cependant, la compression ne sera effective que si la couche réseau a été compilée avec le support de la compression). En affectant la valeur no, vous désactivez la compression et vous pourrez alors analyser plus facilement les transmissions réseau.

http-library

La variable http-library permet de spécifier (de manière générale ou pour un groupe de serveurs particuliers seulement) lequel des modules d'accès WebDAV vous souhaitez utiliser. Avant la version 1.8, Subversion proposait deux modules : l'implémentation originale libsvn_ra_neon (choisie avec la valeur neon) et la plus récente libsvn_ra_serf (choisie avec la valeur serf). Depuis Subversion 1.8, seule libsvn_ra_serf reste disponible. Cette option reste présente, cependant, car le fichier de configuration se veut aussi indépendant que possible de la version de Subversion. Les utilisateurs qui disposent de plusieurs versions de Subversion installées sur leur système peuvent vouloir utiliser libsvn_ra_neon pour des sites sur lesquels ils se connectent avec de vieilles versions de Subversion.

http-proxy-exceptions

Cette option contient une liste de motifs (séparés par des virgules) de noms de machines qui doivent être contactées directement, sans passer par le mandataire. La syntaxe des motifs est la même que celle utilisée par le shell Unix pour les noms de fichiers. L'accès aux dépôts d'une machine dont le nom correspond à l'un de ces motifs se fera sans passer par un mandataire.

http-proxy-host

Cette option contient le nom de la machine mandataire pour les requêtes HTTP de Subversion. La valeur par défaut est vide, ce qui signifie que Subversion ne tentera pas de faire passer ses requêtes par un mandataire mais essaiera de contacter la machine de destination directement.

http-proxy-password

Cette option spécifie le mot de passe à fournir à la machine mandataire. Par défaut, la valeur est vide.

http-proxy-port

Cette option contient le numéro du port à utiliser sur la machine mandataire. Par défaut, la valeur est vide.

http-proxy-username

Cette option spécifie le nom d'utilisateur à fournir à la machine mandataire. Par défaut, la valeur est vide.

http-timeout

Cette option contient la durée maximum, en secondes, pendant laquelle Subversion attend la réponse du serveur. Si vous rencontrez des problèmes d'opérations Subversion qui expirent à cause d'une connexion réseau trop lente, vous devez augmenter cette valeur. Avec Subversion 1.8 (ou des versions plus anciennes utilisant le module HTTP basé sur Serf), utilisez la valeur 0 pour désactiver le délai d'attente maximal.

neon-debug-mask

Spécifier ici un masque binaire sous la forme d'un entier que la bibliothèque HTTP sous-jacente Neon utilise pour définir le type d'affichage de débogage que vous voulez. La valeur par défaut est 0, ce qui n'affiche aucune information de débogage. Avant la version 1.8, la plupart des clients Subversion utilisaient Neon (via le module d'accès au dépôt libsvn_ra_neon) pour les communications WebDAV/HTTP entre le client et le serveur. Le support de libsvn_ra_neon a été enlevé dans Subversion 1.8 ce qui rend cette option obsolète pour les nouvelles installations de Subversion.

ssl-authority-files

Cette option contient une liste de chemins (séparés par des points-virgules) vers les fichiers contenant les certificats des autorités de certifications (abrégé en AC en français et CA en anglais) qui doivent être reconnues comme de confiance par le client Subversion lors des accès aux dépôts en HTTPS.

ssl-client-cert-file

Si un hôte (ou un ensemble d'hôtes) demande un certificat SSL au client, vous serez invité à fournir le chemin de votre certificat. En affectant un chemin à cette variable, Subversion sera capable de trouver automatiquement votre certificat et ne vous sollicitera pas. Il n'existe pas d'emplacement standard pour stocker un certificat utilisateur sur le disque ; Subversion va le chercher à l'endroit que vous lui spécifiez.

ssl-client-cert-password

Si votre certificat client SSL est protégé par une phrase de passe, Subversion vous la demandera à chaque fois que le certificat est utilisé. Si vous trouvez cela pénible (et que cela ne vous dérange pas que cette phrase de passe soit stockée dans le fichier servers), vous pouvez affecter la phrase de passe de votre certificat à cette variable. Vous ne serez plus sollicité.

ssl-pkcs11-provider

La valeur affectée à cette option est le nom du fournisseur PKCS#11 auquel Subversion demande un certificat client SSL (si le serveur en demande un). Cette option n'est pertinente que pour le module HTTP basé sur Neon, qui a été enlevé de Subversion dans la version 1.8.

ssl-trust-default-ca

Mettez cette variable à yes si vous voulez que Subversion fasse automatiquement confiance à l'ensemble des autorités de certification livrées par défaut avec OpenSSL.

store-auth-creds

cette option est équivalente à store-passwords sauf qu'elle applique la mise en cache sur le disque (ou non) à l'ensemble des informations d'authentification : identifiants, mots de passe, certificats serveur et tout autre type d'élément pouvant être mis en cache.

store-passwords

Cette option demande à Subversion de garder en cache (ou non) les mots de passe qui sont tapés par l'utilisateur en réponse aux demandes d'authentification des serveurs. La valeur par défaut est yes. Remplacez cette valeur par no pour désactiver la mise en cache sur le disque. Vous pouvez outrepasser cette option pour un appel donné d'une commande svn en utilisant l'option de ligne de commande --no-auth-cache (pour les sous-commandes qui acceptent cette option). Pour plus d'informations, consultez la section intitulée « Mise en cache des éléments d'authentification ». Notez que, indépendamment de la valeur pour cette option, Subversion ne stockera jamais les mots de passe en clair à moins que l'option store-plaintext-passwords ne soit positionnée aussi à yes.

store-plaintext-passwords

Cette variable n'est important que pour les systèmes de type Unix. Elle contrôle ce que le client Subversion fait lorsque le mot de passe pour le domaine d'authentification en cours ne peut être mis en cache sur le disque que en clair, dans la zone ~/.subversion/auth/. Vous pouvez affecter yes (resp. no) pour autoriser (resp. interdire) la mise en cache des mots de passe en clair. La valeur par défaut est ask, ce qui entraine que le client Subversion vous demande ce qu'il faut faire à chaque fois qu'un nouveau mot de passe doit être ajouté dans la zone de cache ~/.subversion/auth/.

store-ssl-client-cert-pp

Cette option contrôle si Subversion met en cache les phrases de passe pour les certificats SSL clients de l'utilisateur. La valeur par défaut est yes. Vous pouvez fixer la valeur à no pour interdire la mise en cache des phrases de passe.

store-ssl-client-cert-pp-plaintext

Cette variable contrôle si Subversion, au moment de la mise en cache de la phrase de passe d'un certificat SSL client, sera autorisé à le faire en stockant cette information en clair sur le disque. La valeur par défaut est ask, ce qui entraine que le client Subversion vous demande ce qu'il faut faire à chaque fois qu'une nouvelle phrase de passe doit être ajoutée dans la zone de cache ~/.subversion/auth/. Vous pouvez définir la valeur à yes ou no pour indiquer votre préférence et ainsi éviter d'être sollicité à chaque fois.



[74] La variable d'environnement APPDATA pointe vers la zone Application Data, vous pouvez donc toujours faire référence à ce dossier en utilisant %APPDATA%\Subversion.

[75] C'est un peu le repas de fin de semaine préparéavec les restes.