SVNBOOK Chap7 Using External Editors

De Framalang Wiki.

Cette page fait partie du projet Version control with subversion.

Pseudo Code Rôle Statut
Hotshot92 Traduction fait
SVF Relecture fait
Validation


titre

Using External Editors
Utilisation d'éditeurs externes

The most obvious way to get data into Subversion is through the addition of files to version control, committing changes to those files, and so on. But other pieces of information besides merely versioned file data live in your Subversion repository. Some of these bits of information—commit log messages, lock comments, and some property values—tend to be textual in nature and are provided explicitly by users. Most of this information can be provided to the Subversion command-line client using the --message (-m) and --file (-F) options with the appropriate subcommands.

La manière la plus évidente d'entrer des données dans Subversion consiste à ajouter des fichiers en suivi de versions, propager des changements sur ces fichiers, etc. Mais d'autres informations existent dans le dépôt Subversion à côté des données constituées par les simples fichiers versionnés. Certaines de ces informations — les messages de propagation, les commentaires sur les verrous et les valeurs de certaines propriétés — ont naturellement tendance à être textuelles et sont explicitement fournies par les utilisateurs. La plupart de ces informations peuvent être fournies à Subversion à l'aide du client en ligne de commande en utilisant les options --message (-m) et --file (-F) dans le cadre des sous-commandes appropriées.
Each of these options has its pros and cons. For example, when performing a commit, --file (-F) works well if you've already prepared a text file that holds your commit log message. If you didn't, though, you can use --message (-m) to provide a log message on the command line. Unfortunately, it can be tricky to compose anything more than a simple one-line message on the command line. Users want more flexibility—multiline, free-form log message editing on demand.
Chacune de ces options a des avantages et des inconvénients. Par exemple, quand vous effectuez une propagation, l'option --file (-F) fonctionne bien si vous avez déjà préparé un fichier texte qui contient votre message de propagation. Si vous ne l'avez pas écrit, vous pouvez toujours utiliser l'option --message (-m) pour stipuler votre message en ligne de commande. Malheureusement, composer un message de plus d'une ligne en ligne de commande peut être assez délicat. Les utilisateurs veulent plus de flexibilité — l'édition d'un message de propagation multi-ligne, sans contrainte de format et à la demande.

Subversion supports this by allowing you to specify an external text editor that it will launch as necessary to give you a more powerful input mechanism for this textual metadata. There are several ways to tell Subversion which editor you'd like use. Subversion checks the following things, in the order specified, when it wants to launch such an editor:

  1. --editor-cmd command-line option
  2. SVN_EDITOR environment variable
  3. editor-cmd runtime configuration option
  4. VISUAL environment variable
  5. EDITOR environment variable
  6. Possibly, a fallback value built into the Subversion libraries (not present in the official builds)

Subversion répond à cette attente en vous permettant de spécifier un éditeur de texte externe qui sera lancé au besoin, vous offrant ainsi un moyen plus puissant pour entrer des méta-données textuelles. Il y a plusieurs manières d'indiquer à Subversion l'éditeur que vous voulez utiliser. Subversion vérifie les choses suivantes, dans l'ordre spécifié, quand il veut lancer un tel éditeur :

  1. l'option en ligne de commande --editor-cmd
  2. la variable d'environnement SVN_EDITOR
  3. l'option de configuration editor-cmd
  4. la variable d'environnement VISUAL
  5. la variable d'environnement EDITOR
  6. éventuellement, une valeur par défaut spécifiée dans une des bibliothèques de Subversion (non présente dans les distributions officielles)
The value of any of these options or variables is the beginning of a command line to be executed by the shell. Subversion appends to that command line a space and the pathname of a temporary file to be edited. So, to be used with Subversion, the configured or specified editor needs to support an invocation in which its last command-line parameter is a file to be edited, and it should be able to save the file in place and return a zero exit code to indicate success.
La valeur de n'importe laquelle de ces options ou variables est le début de la ligne de commande qui sera exécutée par le shell. Subversion ajoute à cette ligne de commande un espace et le chemin vers un fichier temporaire à éditer. Ainsi, pour être utilisé avec Subversion, l'éditeur spécifié ou configuré doit pouvoir être appelé avec comme dernier argument de la ligne de commande le fichier à éditer, il doit être capable de sauvegarder le fichier au même endroit et il doit retourner zéro comme code de retour, pour indiquer la réussite de l'opération.
As noted, external editors can be used to provide commit log messages to any of the committing subcommands (such as svn commit or import, svn mkdir or delete when provided a URL target, etc.), and Subversion will try to launch the editor automatically if you don't specify either of the --message (-m) or --file (-F) options. The svn propedit command is built almost entirely around the use of an external editor. And beginning in version 1.5, Subversion will also use the configured external text editor when the user asks it to launch an editor during interactive conflict resolution. Oddly, there doesn't appear to be a way to use external editors to interactively provide lock comments.
Comme indiqué, les éditeurs externes peuvent être utilisés pour fournir les messages de propagation à n'importe quelle sous-commande de propagation (telle que svn commit ou svn import, svn mkdir ou svn delete quand vous fournissez une URL cible, etc.) et Subversion essaiera de lancer l'éditeur automatiquement si vous ne spécifiez ni l'option --message (-m) ni l'option --file (-F). La commande svn propedit est presque entièrement construite autour de l'utilisation d'un éditeur de texte externe. A partir de la version 1.5, Subversion utilisera également l'editeur de texte externe configuré quand l'utilisateur demande le lancement d'un éditeur lors de la résolution interactive de conflits. Bizarrement, il ne semble pas y avoir de moyen d'utiliser un éditeur externe pour fournir un commentaire de verrouillage de manière interactive.