SVNBOOK Chap7 Runtime Configuration Area

De Framalang Wiki.

Cette page fait partie du projet Version control with subversion.

Pseudo Code Rôle Statut
Hotshot92 Traduction Fait
SVF 1ère Relecture Fait
Validation


Sommaire

Runtime Configuration Area

Runtime Configuration Area

Zone de configuration des exécutables

Paragraphe d'introduction

Subversion provides many optional behaviors that the user can control. Many of these options are of the kind that a user would wish to apply to all Subversion operations. So, rather than forcing users to remember command-line arguments for specifying these options and to use them for every operation they perform, Subversion uses configuration files, segregated into a Subversion configuration area.

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, tenus à l'écart dans une zone de configuration spécifique à Subversion.

The Subversion configuration area is a two-tiered hierarchy of option names and their values. Usually, this boils down to a special directory that contains configuration files (the first tier), which are just text files in standard INI format (with “sections” providing the second tier). You can easily edit these files using your favorite text editor (such as Emacs or vi), and they contain directives read by the client to determine which of several optional behaviors the user prefers.

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) - ce sont des fichiers texte au format standard INI (dont les "sections" constituent le deuxième niveau). Vous pouvez facilement éditer ces fichiers en utilisant 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.

sous-titre 1

Configuration Area Layout
Agencement de la zone de configuration

The first time the svn command-line client is executed, it creates a per-user configuration area. On Unix-like systems, this area appears as a directory named .subversion in the user's home directory. On Win32 systems, Subversion creates a folder named Subversion, typically inside the Application Data area of the user's profile directory (which, by the way, is usually a hidden directory). However, on this platform, the exact location differs from system to system and is dictated by the Windows Registry. [49] We will refer to the per-user configuration area using its Unix name, .subversion.

La première fois que le client svn en ligne de commande 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 plate-forme, l'emplacement exact du profil utilisateur varie d'un système à l'autre et est dicté par la base de registre Windows [49]. Nous nous référerons à cette zone de configuration propre à l'utilisateur en utilisant son nom Unix : .subversion.

In addition to the per-user configuration area, Subversion also recognizes the existence of a system-wide configuration area. This gives system administrators the ability to establish defaults for all users on a given machine. Note that the system-wide configuration area alone does not dictate mandatory policy—the settings in the per-user configuration area override those in the system-wide one, and command-line arguments supplied to the svn program have the final word on behavior. On Unix-like platforms, the system-wide configuration area is expected to be the /etc/subversion directory; on Windows machines, it looks for a Subversion directory inside the common Application Data location (again, as specified by the Windows Registry). Unlike the per-user case, the svn program does not attempt to create the system-wide configuration area.

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 définitive : les réglages de l'utilisateur sont prioritaires par rapports aux réglages globaux et les options de la ligne de commande ont toujours le dernier mot. Sur les plate-formes 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 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 une zone de configuration globale.
The per-user configuration area currently contains three files—two configuration files (config and servers), and a README.txt file, which describes the INI format. At the time of their creation, the files contain default values for each of the supported Subversion options, mostly commented out and grouped with textual descriptions about how the values for the key affect Subversion's behavior. To change a certain behavior, you need only to load the appropriate configuration file into a text editor, and to modify the desired option's value. If at any time you wish to have the default configuration settings restored, you can simply remove (or rename) your configuration directory and then run some innocuous svn command, such as svn --version. A new configuration directory with the default contents will be created.
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. Au moment de leur création, les 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 changer un comportement précis, il suffit de charger le fichier de configuration dans un éditeur de texte et de modifier 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 avec les valeurs par défaut sera créé.
The per-user configuration area also contains a cache of authentication data. The auth directory holds a set of subdirectories that contain pieces of cached information used by Subversion's various supported authentication methods. This directory is created in such a way that only the user herself has permission to read its contents.
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 ait accès à son contenu.

sous-titre 2

Configuration and the Windows Registry
Configuration via la base de registre Windows
In addition to the usual INI-based configuration area, Subversion clients running on Windows platforms may also use the Windows Registry to hold the configuration data. The option names and their values are the same as in the INI files. The “file/section” hierarchy is preserved as well, though addressed in a slightly different fashion—in this schema, files and sections are just levels in the Registry key tree.
En plus de la zone de configuration classique contenant les fichiers INI, les clients Subversion qui tournent sur une plate-forme 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 looks for system-wide configuration values under the HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion key. For example, the global-ignores option, which is in the miscellany section of the config file, would be found at HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores. Per-user configuration values should be stored under HKEY_CURRENT_USER\Software\Tigris.org\Subversion.
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 de configuration, 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.

Registry-based configuration options are parsed before their file-based counterparts, so they are overridden by values found in the configuration files. In other words, Subversion looks for configuration information in the following locations on a Windows system; lower-numbered locations take precedence over higher-numbered locations:

  1. Command-line options
  2. The per-user INI files
  3. The per-user Registry values
  4. The system-wide INI files
  5. The system-wide Registry values

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.
Also, the Windows Registry doesn't really support the notion of something being “commented out.” However, Subversion will ignore any option key whose name begins with a hash (#) character. This allows you to effectively comment out a Subversion option without deleting the entire key from the Registry, obviously simplifying the process of restoring that option.
Par ailleurs, la base de registre Windows ne supporte 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 manifestement la procédure de restauration de l'option.
The svn command-line client never attempts to write to the Windows Registry and will not attempt to create a default configuration area there. You can create the keys you need using the REGEDIT program. Alternatively, you can create a .reg file (such as the one in Example 7.1, “Sample registration entries (.reg) file”), and then double-click on that file's icon in the Explorer shell, which will cause the data to be merged into your Registry.
Le client en ligne de commande 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 alternative 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.

Example 7.1. Sample registration entries (.reg) file

REGEDIT4

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

 [HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global]
 "#http-proxy-host"=""
 "#http-proxy-port"=""
 "#http-proxy-username"=""
 "#http-proxy-password"=""
 "#http-proxy-exceptions"=""
 "#http-timeout"="0"
 "#http-compression"="yes"
 "#neon-debug-mask"=""
 "#ssl-authority-files"=""
 "#ssl-trust-default-ca"=""
 "#ssl-client-cert-file"=""
 "#ssl-client-cert-password"=""

 [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]
 "#store-passwords"="yes"
 "#store-auth-creds"="yes"

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

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

 [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
 "#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store"
 "#log-encoding"=""
 "#use-commit-times"=""
 "#no-unlock"=""
 "#enable-auto-props"=""

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

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-proxy-host"=""
"#http-proxy-port"=""
"#http-proxy-username"=""
"#http-proxy-password"=""
"#http-proxy-exceptions"=""
"#http-timeout"="0"
"#http-compression"="yes"
"#neon-debug-mask"=""
"#ssl-authority-files"=""
"#ssl-trust-default-ca"=""
"#ssl-client-cert-file"=""
"#ssl-client-cert-password"=""

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]
"#store-passwords"="yes"
"#store-auth-creds"="yes"

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

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

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store"
"#log-encoding"=""
"#use-commit-times"=""
"#no-unlock"=""
"#enable-auto-props"=""

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]
The previous example shows the contents of a .reg file, which contains some of the most commonly used configuration options and their default values. Note the presence of both system-wide (for network proxy-related options) and per-user settings (editor programs and password storage, among others). Also note that all the options are effectively commented out. You need only to remove the hash (#) character from the beginning of the option names and set the values as you desire.
L'exemple précédent montre 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 de réglages applicables à l'ensemble du système (pour 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.

sous-titre 3

Configuration Options
Options de configuration
In this section, we will discuss the specific runtime configuration options that Subversion currently supports.
Dans cette section, nous allons nous intéresser aux options de configuration des programmes supportées par la version actuelle de Subversion.

sous-sous-titre 1

Servers

Fichier "servers"

The servers file contains Subversion configuration options related to the network layers. There are two special section names in this file—groups and global. The groups section is essentially a cross-reference table. The keys in this section are the names of other sections in the file; their values are globs—textual tokens that possibly contain wildcard characters—that are compared against the hostnames of the machine to which Subversion requests are sent.

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 est essentiellement un tableau de références croisées. Les clés de cette section sont les noms des autres sections du fichier ; ces valeurs sont des globs - des représentations textuelles qui peuvent contenir des caractères joker - qui sont comparées aux noms des machines auxquelles les requêtes Subversion sont envoyées.

[groups]
beanie-babies = *.red-bean.com
collabnet = svn.collab.net

[beanie-babies]
…

[collabnet]
…
[groups]
serveurs-red-bean = *.red-bean.com
collabnet = svn.collab.net

[serveurs-red-bean]
…

[collabnet]
…
--Sub Versif 3 mai 2009 à 12:24 (CEST) : red-bean.com est le site qui héberge le Subversion Book, ça peut être pas mal de laisser cette référence dans la version française.
When Subversion is used over a network, it attempts to match the name of the server it is trying to reach with a group name under the groups section. If a match is made, Subversion then looks for a section in the servers file whose name is the matched group's name. From that section, it reads the actual network configuration settings.
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 regarde alors s'il existe dans le fichier servers une section dont le nom est le nom du groupe correspondant. Il tire alors de cette section la configuration réseau à appliquer.
The global section contains the settings that are meant for all of the servers not matched by one of the globs under the groups section. The options available in this section are exactly the same as those that are valid for the other server sections in the file (except, of course, the special groups section), and are as follows:
La section global contient la configuration qui doit s'appliquer pour 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 les suivantes :
http-proxy-exceptions 
This specifies a comma-separated list of patterns for repository hostnames that should be accessed directly, without using the proxy machine. The pattern syntax is the same as is used in the Unix shell for filenames. A repository hostname matching any of these patterns will not be proxied.
http-proxy-host 
This specifies the hostname of the proxy computer through which your HTTP-based Subversion requests must pass. It defaults to an empty value, which means that Subversion will not attempt to route HTTP requests through a proxy computer, and will instead attempt to contact the destination machine directly.
http-proxy-port 
This specifies the port number on the proxy host to use. It defaults to an empty value.
http-proxy-username 
This specifies the username to supply to the proxy machine. It defaults to an empty value.
http-proxy-password 
This specifies the password to supply to the proxy machine. It defaults to an empty value.
http-timeout 
This specifies the amount of time, in seconds, to wait for a server response. If you experience problems with a slow network connection causing Subversion operations to time out, you should increase the value of this option. The default value is 0, which instructs the underlying HTTP library, Neon, to use its default timeout setting.
http-compression 
This specifies whether Subversion should attempt to compress network requests made to DAV-ready servers. The default value is yes (though compression will occur only if that capability is compiled into the network layer). Set this to no to disable compression, such as when debugging network transmissions.
http-library 
Subversion provides a pair of repository access modules that understand its WebDAV network protocol. The original one, which shipped with Subversion 1.0, is libsvn_ra_neon (though back then it was called libsvn_ra_dav). Newer Subversion versions also provide libsvn_ra_serf, which uses a different underlying implementation and aims to support some of the newer HTTP concepts.
At this point, libsvn_ra_serf is still considered experimental, though it appears to work in the common cases quite well. To encourage experimentation, Subversion provides the http-library runtime configuration option to allow users to specify (generally, or in a per-server-group fashion) which WebDAV access module they'd prefer to use—neon or serf.
http-auth-types 
This option is a semicolon-delimited list of authentication types supported by the Neon-based WebDAV repository access modules. Valid members of this list are basic, digest, and negotiate.
neon-debug-mask : This is an integer mask that the underlying HTTP library, Neon, uses for choosing what type of debugging output to yield. The default value is 0, which will silence all debugging output. For more information about how Subversion makes use of Neon, see Chapter 8, Embedding Subversion.
ssl-authority-files 
This is a semicolon-delimited list of paths to files containing certificates of the certificate authorities (or CAs) that are accepted by the Subversion client when accessing the repository over HTTPS.
ssl-trust-default-ca 
Set this variable to yes if you want Subversion to automatically trust the set of default CAs that ship with OpenSSL.
ssl-client-cert-file 
If a host (or set of hosts) requires an SSL client certificate, you'll normally be prompted for a path to your certificate. By setting this variable to that same path, Subversion will be able to find your client certificate automatically without prompting you. There's no standard place to store your certificate on disk; Subversion will grab it from any path you specify.
ssl-client-cert-password 
If your SSL client certificate file is encrypted by a passphrase, Subversion will prompt you for the passphrase whenever the certificate is used. If you find this annoying (and don't mind storing the password in the servers file), you can set this variable to the certificate's passphrase. You won't be prompted anymore.
http-proxy-exceptions 
cette option contient une liste de motifs (séparés par des virgules) pour les 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-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 contient le nom d'utilisateur à fournir à la machine mandataire. Par défaut, la valeur est vide.
http-proxy-password 
cette option contient le mot de passe à fournir à la machine mandataire. Par défaut, la valeur est vide.
http-timeout 
cette option contient le temps maximum, en secondes, pendant lequel 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 devriez augmenter cette valeur. Par défaut, la valeur est 0, ce qui conduit la bibliothèque HTTP sous-jacente (Neon) à utiliser sa propre valeur par défaut.
http-compression 
cette option indique si oui ou non Subversion doit essayer de compresser les requêtes réseaux à destination de serveurs DAV. La valeur par défaut est yes. Notez que la compression ne sera effective que si la couche réseau a été compilée avec le support de la compression. Mettez no pour ne pas activer la compression, par exemple lorsque vous examinez les transmissions réseaux.
http-library 
Subversion est fourni avec deux modules d'accès aux dépôts qui utilisent le protocole réseau WebDAV. Le module originel, fourni avec Subversion 1.0, est libsvn_ra_neon (bien qu'en ce temps là, il s'appelait libsvn_ra_dav). Les nouvelles versions de Subversion fournissent également libsvn_ra_serf, qui utilise une implémentation sous-jacente différente et qui vise à supporter certains des concepts HTTP les plus récents.
Actuellement, libsvn_ra_serf est toujours considérée en version expérimentale bien qu'elle semble fonctionner correctement dans les cas usuels. Afin d'inciter les gens à l'essayer, Subversion fournit l'option de configuration http-library pour permettre aux utilisateurs de définir (globalement ou par groupe de serveurs) quel module d'accès WebDAV ils veulent utiliser : neon ou serf.
http-auth-types 
cette option contient une liste de méthodes d'authentification (séparées par des points virgules) supportées par les module d'accès aux dépôts WebDAV basés sur Neon. Les valeurs valides dans cette liste sont : basic, digest et negotiate.
neon-debug-mask : cette option contient un entier qui représente un masque que la bibliothèque HTTP sous-jacente (Neon) utilise pour choisir quel type d'affichage de débogage autoriser. La valeur par défaut est 0, ce qui interdit tout affichage de débogage. Pour plus d'informations sur l'utilisation de Neon par Subversion, reportez-vous au chapitre 8, Embarquer 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 (AC) qui doivent être reconnues comme de confiance par le client Subversion lors des accès aux dépôts en HTTPS.
ssl-trust-default-ca 
Mettez cette variable à yes (oui) si vous voulez que Subversion fasse automatiquement confiance à l'ensemble des autorités de certification livrées par défaut avec OpenSSL.
ssl-client-cert-file 
Si un hôte (ou un ensemble d'hôtes) demande un certificat SSL au client, vous serez sollicité pour fournir le chemin de votre certificat. Dès que cette variable contient ce chemin, 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 placer dans cette variable la phrase de passe de votre certificat. Vous ne serez plus sollicité.
--Hotshot92 7 mars 2009 à 00:34 (CET): Traduction de Embedding Subversion à revoir en fin de traduction
--Sub Versif 3 mai 2009 à 12:24 (CEST) : le terme correspondant est "embarquer".
--Sub Versif 3 mai 2009 à 12:24 (CEST) : Par ailleurs, traduire yes et no entre parenthèses me semble inutile, entre autres car yes et no seront déjà dans une fonte différente au final, ce qui suffira largement pour les mettre en relief. Idem pour true dans ce qui suit. A remodifier si besoin.

sous-sous-titre 2

Config

Fichier "config"

The config file contains the rest of the currently available Subversion runtime options—those not related to networking. There are only a few options in use as of this writing, but they are again grouped into sections in expectation of future additions.

The auth section contains settings related to Subversion's authentication and authorization against the repository. It contains the following:

Le fichier config contient le reste des options du programme Subversion disponibles actuellement - celles qui ne se rapportent pas au réseau. Au moment où ces lignes sont écrites, seules quelques options sont utilisées, mais elles sont quand même regroupées dans des sections en prévision d'ajouts futurs.

La section auth contient les paramètres relatifs à l'authentification et au contrôle d'accès de Subversion pour les dépôts. Elle contient les options suivantes :
store-passwords 
This instructs Subversion to cache, or not to cache, passwords that are supplied by the user in response to server authentication challenges. The default value is yes. Set this to no to disable this on-disk password caching. You can override this option for a single instance of the svn command using the --no-auth-cache command-line parameter (for those subcommands that support it). For more information, see the section called “Client Credentials Caching”.
store-auth-creds 
This setting is the same as store-passwords, except that it enables or disables on-disk caching of all authentication information: usernames, passwords, server certificates, and any other types of cacheable credentials.
The helpers section controls which external applications Subversion uses to accomplish its tasks. Valid options in this section are:
editor-cmd 
This specifies the program Subversion will use to query the user for certain types of textual metadata or when interactively resolving conflicts. See the section called “Using External Editors” for more details on using external text editors with Subversion.
diff-cmd 
This specifies the absolute path of a differencing program, used when Subversion generates “diff” output (such as when using the svn diff command). By default, Subversion uses an internal differencing library—setting this option will cause it to perform this task using an external program. See the section called “Using External Differencing and Merge Tools” for more details on using such programs.
diff3-cmd 
This specifies the absolute path of a three-way differencing program. Subversion uses this program to merge changes made by the user with those received from the repository. By default, Subversion uses an internal differencing library—setting this option will cause it to perform this task using an external program. See the section called “Using External Differencing and Merge Tools” for more details on using such programs.
diff3-has-program-arg 
This flag should be set to true if the program specified by the diff3-cmd option accepts a --diff-program command-line parameter.
merge-tool-cmd 
This specifies the program that Subversion will use to perform three-way merge operations on your versioned files. See the section called “Using External Differencing and Merge Tools” for more details on using such programs.
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 "Mise en cache des éléments d'authentification".
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.
La section helpers définit quelles sont les applications externes utilisées par Subversion pour accomplir ses tâches. Les options valides dans cette section sont :
editor-cmd 
cette option contient le programme utilisé par l'utilisateur auquel Subversion demande d'entrer des méta-données textuelles ou de résoudre les conflits de manière interactive. Consultez la section "Utilisation d'éditeurs externes" pour plus de détails sur l'utilisation d'un éditeur de texte externe avec Subversion.
diff-cmd 
cette option contient le chemin absolu d'un programme de comparaison qui sera utilisé lorsque Subversion doit afficher à l'utilisateur plusieurs fichiers à comparer (par exemple lors de l'utilisation de la commande svn diff). Par défaut, Subversion utilise une bibliothèque interne de comparaison - définir cette option le forcera à utiliser un programme externe pour effectuer cette tâche. Consultez la section "Utilisation d'outils externes de comparaison et de fusion" pour plus de détails sur l'utilisation de tels programmes.
diff3-cmd 
cette option contient le chemin absolu d'un programme de comparaison à trois entrées. Subversion utilise ce programme pour fusionner les changements effectués par l'utilisateur avec ceux en provenance du dépôt. Par défaut, Subversion utilise une bibliothèque interne de comparaison - définir cette option le forcera à utiliser un programme externe pour effectuer cette tâche. Consultez la section "Utilisation d'outils externes de comparaison et de fusion" pour plus de détails sur l'utilisation de tels programmes.
diff3-has-program-arg 
ce drapeau doit être mis à true si le programme spécifié par l'option diff3-cmd accepte l'option --diff-program en ligne de commande.
merge-tool-cmd 
cette option contient le programme que Subversion utilisera pour effectuer les opérations de fusion à trois sources sur vos fichiers suivis en versions. Consultez la section "Utilisation d'outils externes de comparaison et de fusion" pour plus de détails sur l'utilisation de tels programmes.

The tunnels section allows you to define new tunnel schemes for use with svnserve and svn:// client connections. For more details, see the section called “Tunneling over SSH”.

La section tunnels vous permet de définir de nouveaux tunnels à utiliser avec les connexions clientes svnserve et svn://. Pour plus de détails, consultez la section "Encapsulation de svnserve dans SSH".

The miscellany section is where everything that doesn't belong elsewhere winds up. [50] In this section, you can find:

global-ignores 
When running the svn status command, Subversion lists unversioned files and directories along with the versioned ones, annotating them with a ? character (see the section called “See an overview of your changes”). Sometimes it can be annoying to see uninteresting, unversioned items—for example, object files that result from a program's compilation—in this display. The global-ignores option is a list of whitespace-delimited globs that describe the names of files and directories that Subversion should not display unless they are versioned. The default value is *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store.
As well as svn status, the svn add and svn import commands also ignore files that match the list when they are scanning a directory. You can override this behavior for a single instance of any of these commands by explicitly specifying the filename, or by using the --no-ignore command-line flag.
For information on finer-grained control of ignored items, see the section called “Ignoring Unversioned Items”.
enable-auto-props 
This instructs Subversion to automatically set properties on newly added or imported files. The default value is no, so set this to yes to enable this feature. The auto-props section of this file specifies which properties are to be set on which files.
log-encoding 
This variable sets the default character set encoding for commit log messages. It's a permanent form of the --encoding option (see the section called “svn Options”). The Subversion repository stores log messages in UTF-8 and assumes that your log message is written using your operating system's native locale. You should specify a different encoding if your commit messages are written in any other encoding.
use-commit-times 
Normally your working copy files have timestamps that reflect the last time they were touched by any process, whether your own editor or some svn subcommand. This is generally convenient for people developing software, because build systems often look at timestamps as a way of deciding which files need to be recompiled.
In other situations, however, it's sometimes nice for the working copy files to have timestamps that reflect the last time they were changed in the repository. The svn export command always places these “last-commit timestamps” on trees that it produces. By setting this config variable to yes, the svn checkout, svn update, svn switch, and svn revert commands will also set last-commit timestamps on files that they touch.
mime-types-file 
This option, new to Subversion 1.5, specifies the path of a MIME types mapping file, such as the mime.types file provided by the Apache HTTP Server. Subversion uses this file to assign MIME types to newly added or imported files. See the section called “Automatic Property Setting” and the section called “File Content Type” for more about Subversion's detection and use of file content types.

La section miscellany récolte tout ce qui n'a pas sa place ailleurs [50]. Dans cette section, vous trouvez :

global-ignores 
quand vous exécutez la commande svn status, Subversion affiche la liste des fichiers et répertoires non suivis en versions avec ceux qui sont suivis en versions, en les marquant d'un caractère ? (voir la section "Avoir une vue globale des changements effectués"). Parfois, il est gênant d'afficher ces éléments inutiles et non suivis en version - par exemple les fichiers objets générés par les compilations. L'option global-ignores contient une liste de globs séparés par des espaces qui décrivent les noms de fichiers et de répertoires que Subversion ne doit pas afficher, sauf s'ils sont suivis en versions. La valeur par défaut est *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store.
De même que svn status, les commandes svn add et svn import ignorent également les fichiers qui entrent en correspondance avec la liste lors du parcours d'un répertoire. Vous pouvez bloquer ce comportement pour une instance donnée de ces commandes en spécifiant explicitement le nom de fichier ou en utilisant l'option --no-ignore en ligne de commande.
Vous pouvez trouvez des informations pour contrôler plus finement les éléments ignorés dans la section "Ignorer les éléments non suivis en versions".
enable-auto-props 
cette option demande à Subversion d'ajouter automatiquement des propriétés sur les fichiers nouvellement ajoutés ou importés. La valeur par défaut est no, vous devez donc lui affecter la valeur yes pour activer cette fonctionnalité. La section auto-props de ce fichier spécifie quelles propriétés doivent être mises sur quels fichiers.
log-encoding 
cette option définit la valeur par défaut du codage des caractères des messages de propagation. C'est le pendant permanent de l'option --encoding (voir la section "Options de svn"). Le dépôt Subversion stocke les messages de propagation en UTF-8 et suppose que votre message est écrit en utilisant le codage défini par votre système d'exploitation. Vous devez spécifier un codage différent si vos messages de propagation sont rédigés avec un autre codage.
use-commit-times 
normalement, les fichiers de votre copie de travail sont datés de manière à indiquer la dernière fois qu'ils ont été manipulés par n'importe quel processus, que ce soit votre éditeur de texte ou une sous-commande svn. C'est le comportement attendu généralement par les développeurs de logiciels puisque les systèmes de compilation examinent souvent ces dates pour décider quels fichiers doivent être recompilés.
Dans d'autres situations, cependant, il est préférable d'avoir une date qui indique la dernière fois que le fichier a été modifié dans le dépôt. La commande svn export marque "la date de la dernière propagation" sur les arborescences qu'elle produit. En mettant cette variable de configuration à yes, les commandes svn checkout, svn update, svn switch et svn revert marqueront également les fichiers qu'elles modifient avec la date de dernière propagation.
mime-types-file 
cette option est apparue dans Subversion 1.5. Elle spécifie le chemin d'un fichier de correspondance pour les types MIME, de la même manière que le fichier mime.types fourni par le serveur HTTP Apache. Subversion utilise ce fichier pour associer des types MIME aux nouveaux fichiers ajoutés ou importés. Consultez la section "Configurer des propriétés de façon automatique" et la section "Type de contenu des fichiers" pour plus d'informations sur la détection et l'utilisation des types de fichiers par Subversion.
--Sub Versif 3 mai 2009 à 12:24 (CEST) : étonnament, le GDT et wikipedia donnent tous deux "codage" et non "encodage" pour traduire "encoding". Dont acte.
preserved-conflict-file-exts 
The value of this option is a space-delimited list of file extensions that Subversion should preserve when generating conflict filenames. By default, the list is empty. This option is new to Subversion 1.5.
When Subversion detects conflicting file content changes, it defers resolution of those conflicts to the user. To assist in the resolution, Subversion keeps pristine copies of the various competing versions of the file in the working copy. By default, those conflict files have names constructed by appending to the original filename a custom extension such as .mine or .REV (where REV is a revision number). A mild annoyance with this naming scheme is that on operating systems where a file's extension determines the default application used to open and edit that file, appending a custom extension prevents the file from being easily opened by its native application. For example, if the file ReleaseNotes.pdf was conflicted, the conflict files might be named ReleaseNotes.pdf.mine or ReleaseNotes.pdf.r4231. While your system might be configured to use Adobe's Acrobat Reader to open files whose extensions are .pdf, there probably isn't an application configured on your system to open all files whose extensions are .r4231.
You can fix this annoyance by using this configuration option, though. For files with one of the specified extensions, Subversion will append to the conflict file names the custom extension just as before, but then also reappend the file's original extension. Using the previous example, and assuming that pdf is one of the extensions configured in this list thereof, the conflict files generated for ReleaseNotes.pdf would instead be named ReleaseNotes.pdf.mine.pdf and ReleaseNotes.pdf.r4231.pdf. Because each file ends in .pdf, the correct default application will be used to view them.
interactive-conflicts
This is a Boolean option that specifies whether Subversion should try to resolve conflicts interactively. If its value is yes (which is the default value), Subversion will prompt the user for how to handle conflicts in the manner demonstrated in the section called “Resolve Conflicts (Merging Others' Changes)”. Otherwise, it will simply flag the conflict and continue its operation, postponing resolution to a later time.
no-unlock 
This Boolean option corresponds to svn commit's --no-unlock option, which tells Subversion not to release locks on files you've just committed. If this runtime option is set to yes, Subversion will never release locks automatically, leaving you to run svn unlock explicitly. It defaults to 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 ave 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 noms des fichiers générés l'extension particulière comme auparavant mais il rajoutera aussi à la suite l'extension originale. Dans l'exemple précédent, et 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 seraient 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.
interactive-conflicts
cette option est une option booléenne qui spécifie si Subversion doit essayer de résoudre les conflits de manière interactive. Si la valeur est yes (qui est la valeur par défaut), Subversion demandera à l'utilisateur comment gérer les conflits, comme indiqué dans la section "Résoudre les conflits (Fusionner des modifications)". Autrement, il marquera simplement qu'il existe un conflit et continuera l'opération en cours, remettant la résolution à plus tard.
no-unlock 
cette option booléenne correspond à l'option --no-unlock de 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 positionnée à yes, Subversion ne libérera jamais aucun verrou automatiquement, vous laissant le faire explicitement avec svn unlock. La valeur par défaut est no.

The auto-props section controls the Subversion client's ability to automatically set properties on files when they are added or imported. It contains any number of key-value pairs in the format PATTERN = PROPNAME=VALUE[;PROPNAME=VALUE ...], where PATTERN is a file pattern that matches one or more filenames and the rest of the line is a semicolon-delimited set of property assignments. Multiple matches on a file will result in multiple propsets for that file; however, there is no guarantee that auto-props will be applied in the order in which they are listed in the config file, so you can't have one rule “override” another. You can find several examples of auto-props usage in the config file. Lastly, don't forget to set enable-auto-props to yes in the miscellany section if you want to enable auto-props.

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 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.