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.
sous-titre 1
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.
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.
sous-titre 2
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:
- Command-line options
- The per-user INI files
- The per-user Registry values
- The system-wide INI files
- 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) :
- les options en ligne de commande ;
- les fichiers INI propres à l'utilisateur ;
- les valeurs de la base de registre propres à l'utilisateur ;
- les fichiers INI applicables à l'ensemble du système ;
- les valeurs de la base de registre applicables à l'ensemble du système.
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]
sous-titre 3
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] …
- 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é.
sous-sous-titre 2
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.
- 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.

