[svnbook] r3682 committed - translation to French of 80 % of Chapter 3.
svnbook at googlecode.com
svnbook at googlecode.com
Sat Feb 6 15:10:47 CST 2010
Revision: 3682
Author: christophe.nanteuil
Date: Sat Feb 6 13:09:47 2010
Log: translation to French of 80 % of Chapter 3.
http://code.google.com/p/svnbook/source/detail?r=3682
Modified:
/trunk/src/fr/book/ch03-advanced-topics.xml
=======================================
--- /trunk/src/fr/book/ch03-advanced-topics.xml Fri Sep 12 07:39:35 2008
+++ /trunk/src/fr/book/ch03-advanced-topics.xml Sat Feb 6 13:09:47 2010
@@ -1,80 +1,85 @@
<chapter id="svn.advanced">
- <title>Advanced Topics</title>
-
- <para>If you've been reading this book chapter by chapter, from
- start to finish, you should by now have acquired enough
- knowledge to use the Subversion client to perform the most
- common version control operations. You understand how to
- check out a working copy from a Subversion repository. You are
- comfortable with submitting and receiving changes using the
- <command>svn commit</command> and <command>svn update</command>
- operations. You've probably even developed a reflex that causes
- you to run the <command>svn status</command> command almost
- unconsciously. For all intents and purposes, you are ready to
- use Subversion in a typical environment.</para>
-
- <para>But the Subversion feature set doesn't stop at <quote>common
- version control operations.</quote> It has other bits of
- functionality besides just communicating file and
- directory changes to and from a central repository.</para>
-
- <para>This chapter highlights some of Subversion's features that,
- while important, aren't part of the typical user's daily routine.
- It assumes that you are familiar with Subversion's basic file and
- directory versioning capabilities. If you aren't, you'll want to
- first read <xref linkend="svn.basic" /> and <xref
- linkend="svn.tour" />. Once you've mastered those basics and
- consumed this chapter, you'll be a Subversion power user!</para>
+ <title>Sujets avancés</title>
+
+ <para>Si vous lisez ce livre chapitre par chapitre, du début à la fin,
+ vous avez acquis maintenant suffisamment de connaissance du
+ fonctionnement de Subversion pour effectuer les opérations les plus
+ courantes de gestion de versions. Vous savez comment extraire une
+ copie de travail du dépôt Subversion. Vous n'avez aucune difficulté
+ à propager vos modifications et à recevoir des mises à jour en
+ utilisant les commandes <command>svn commit</command> et
+ <command>svn update</command> Vous avez probablement acquis le
+ réflexe, presque inconscient, de lancer la commande
+ <command>svn status</command>. Bref, vous êtes apte à utiliser
+ Subversion dans un environnement normal pour tout type de
+ projet.</para>
+
+ <para>Mais les fonctionnalités de Subversion ne s'arrêtent pas aux
+ <quote>opérations courantes de gestion de versions</quote>. Il
+ possède d'autres atouts en plus de permettre le partage de fichiers
+ et de répertoires depuis un dépôt central.</para>
+
+ <para>Ce chapitre dévoile certaines fonctionnalités de Subversion qui,
+ bien qu'importantes, ne sont pas d'une utilisation quotidienne pour
+ un utilisateur normal. Nous supposerons que vous êtes familier avec
+ les possibilités de base de gestion de versions sur les fichiers et
+ répertoires. Sinon, reportez-vous au <xref linkend="svn.basic" />
+ et au <xref linkend="svn.tour" />. Une fois que vous maîtriserez ces
+ bases et que vous aurez assimilé ce chapitre, vous serez un
+ super-utilisateur de Subversion !</para>
<!-- =================================================================
-->
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.tour.revs.specifiers">
- <title>Revision Specifiers</title>
-
- <para>As we described in <xref linkend="svn.basic.in-action.revs"
- />, revision numbers in Subversion are pretty
- straightforward—integers that keep getting larger as you
- commit more changes to your versioned data. Still, it doesn't
- take long before you can no longer remember exactly what
- happened in each and every revision. Fortunately, the typical
- Subversion workflow doesn't often demand that you supply
- arbitrary revisions to the Subversion operations you perform.
- For operations that <emphasis>do</emphasis> require a revision
- specifier, you generally supply a revision number that you saw
- in a commit email, in the output of some other Subversion
- operation, or in some other context that would give meaning to
- that particular number.</para>
-
- <para>But occasionally, you need to pinpoint a moment in time for
- which you don't already have a revision number memorized or
- handy. So besides the integer revision numbers,
- <command>svn</command> allows as input some additional forms of
- revision specifiers: <firstterm>revision keywords</firstterm>
- and revision dates.</para>
+ <title>Identifiants de révision</title>
+
+ <para>Comme vous avez pu le constater dans
+ <xref linkend="svn.basic.in-action.revs"/>, les numéros de
+ révision dans Subversion sont d'une grande simplicité, formant une
+ suite d'entiers incrémentés au fur et à mesure des changements
+ propagés dans le dépôt. Néanmoins, il ne faudra pas longtemps
+ avant que vous ne puissiez plus vous rappeler exactement quel
+ changement correspond à quelle révision. Heureusement, le
+ fonctionnement normal de Subversion ne requiert pas souvent que
+ vous fournissiez explicitement un numéro de révision pour une
+ opération. Pour les opérations qui nécessitent
+ <emphasis>vraiment</emphasis> un numéro de révision, vous pouvez
+ fournir un numéro de révision que vous avez vu soit dans un mail
+ de propagation, soit dans la sortie d'une autre opération
+ Subversion, soit dans un autre contexte qui donnait du sens à ce
+ numéro particulier.</para>
+
+ <para>Occasionnellement, vous aurez besoin d'identifier un moment
+ précis pour lequel vous n'avez pas de numéro de révision en tête
+ ou sous la main. C'est pourquoi, en plus des numéros de révision,
+ <command>svn</command> accepte également en entrée d'autres
+ formats d'appellations pour les révisions : les
+ <firstterm>mots-clés de révision</firstterm> et les dates de
+ révision.</para>
<note>
- <para>The various forms of Subversion revision specifiers can be
- mixed and matched when used to specify revision ranges. For
- example, you can use <option>-r
+ <para>Les différentes formes d'appellations pour les révisions
+ peuvent être mélangées et comparées pour définir des intervalles
+ de révisions. Par exemple, vous pouvez spécifier <option>-r
<replaceable>REV1</replaceable>:<replaceable>REV2</replaceable></option>
- where <replaceable>REV1</replaceable> is a revision keyword
- and <replaceable>REV2</replaceable> is a revision number, or
- where <replaceable>REV1</replaceable> is a date and
- <replaceable>REV2</replaceable> is a revision keyword, and so
- on. The individual revision specifiers are independently
- evaluated, so you can put whatever you want on the opposite
- sides of that colon.</para>
+ où <replaceable>REV1</replaceable> est un mot-clé de révision et
+ <replaceable>REV2</replaceable> est un numéro de révision, ou
+ alors <replaceable>REV1</replaceable> est une date et
+ <replaceable>REV2</replaceable> est un numéro de révision. Comme
+ chaque appellation de révision est évaluée indépendamment, vous
+ pouvez placer n'importe quel type d'appellation de chaque côté
+ du symbole deux-points.</para>
</note>
<!-- ===============================================================
-->
<sect2 id="svn.tour.revs.keywords">
- <title>Revision Keywords</title>
+ <title>Mots-clés de révision</title>
<indexterm>
- <primary>revisions</primary>
- <secondary>revision keywords</secondary>
+ <primary>Révisions</primary>
+ <secondary>Mots-clés de révision</secondary>
</indexterm>
<indexterm>
<primary>HEAD</primary>
@@ -89,111 +94,115 @@
<primary>PREV</primary>
</indexterm>
- <para>The Subversion client understands a number of revision
- keywords. These keywords can be used instead of integer
- arguments to the <option>--revision</option>
- (<option>-r</option>) option, and are resolved into specific
- revision numbers by Subversion:</para>
+ <para>Le client Subversion accepte toute une variété de mots-clés
+ de révision. En tant qu'argument de l'option
+ <option>--revision</option>(<option>-r</option>)ces mots-clés
+ peuvent être utilisés en lieu et place des numéros et sont
+ remplacés par les numéros correspondants par
+ Subversion :</para>
<variablelist>
<varlistentry>
<term><literal>HEAD</literal></term>
<listitem>
- <para>The latest (or <quote>youngest</quote>) revision in
- the repository.</para>
+ <para>La dernière (ou plus récente) révision présente dans
+ le dépot.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>BASE</literal></term>
<listitem>
- <para>The revision number of an item in a working copy.
- If the item has been locally modified, this refers to
- the way the item appears without those local
- modifications.</para>
+ <para>Le numéro de révision d'un élément de la copie de
+ travail. Si l'élément a été modifié localement, la
+ <quote>version BASE</quote> fait référence à l'élément tel
+ qu'il était sans ces modifications locales.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>COMMITTED</literal></term>
<listitem>
- <para>The most recent revision prior to, or equal to,
- <literal>BASE</literal>, in which an item changed.</para>
+ <para>La révision la plus récente avant (ou égale à)
+ <literal>BASE</literal>, dans laquelle un élément a
changé.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>PREV</literal></term>
<listitem>
- <para>The revision immediately <emphasis>before</emphasis>
- the last revision in which an item changed.
- Technically, this boils down to
+ <para>La révision <emphasis>précédant</emphasis> immédiatement
+ la dernière révision dans laquelle un élément a changé.
+ Techniquement, cela revient à
<literal>COMMITTED</literal>−1.</para>
</listitem>
</varlistentry>
</variablelist>
- <para>As can be derived from their descriptions, the
- <literal>PREV</literal>, <literal>BASE</literal>, and
- <literal>COMMITTED</literal> revision keywords are used only
- when referring to a working copy path—they don't apply
- to repository URLs. <literal>HEAD</literal>, on the other
- hand, can be used in conjunction with both of these path
- types.</para>
-
- <para>Here are some examples of revision keywords in
- action:</para>
+ <para>Comme vous pouvez le deviner d'après leur description, les
+ mots-clés de révision <literal>PREV</literal>,
+ <literal>BASE</literal>, et <literal>COMMITTED</literal> ne sont
+ utilisés que pour faire référence à un chemin dans la copie de
+ travail ; ils ne s'appliquent pas à des URL du dépôt. En
+ revanche,<literal>HEAD</literal>peut être utilisé avec les deux
+ types de chemin (local ou URL du dépôt).</para>
+
+ <para>Vous trouverez ci-dessous des exemples de l'utilisation de
+ ces mots-clés :</para>
<screen>
-$ svn diff -r PREV:COMMITTED foo.c
-# shows the last change committed to foo.c
+$ svn diff -r PREV:COMMITTED machin.c
+# affiche le dernier changement propagé concernant machin.c
$ svn log -r HEAD
-# shows log message for the latest repository commit
+# affiche le message associé à la dernière propagation dans le dépôt.
$ svn diff -r HEAD
-# compares your working copy (with all of its local changes) to the
-# latest version of that tree in the repository
-
-$ svn diff -r BASE:HEAD foo.c
-# compares the unmodified version of foo.c with the latest version of
-# foo.c in the repository
+# compare votre copie de travail (avec tous ses changements locaux)
+# à la dernière version de l'arborescence correspondante du dépôt.
+
+$ svn diff -r BASE:HEAD machin.c
+# compare la version non modifiée localement de machin.c avec la dernière
+# version de machin.c dans le dépôt.
$ svn log -r BASE:HEAD
-# shows all commit logs for the current versioned directory since you
-# last updated
-
-$ svn update -r PREV foo.c
-# rewinds the last change on foo.c, decreasing foo.c's working revision
-
-$ svn diff -r BASE:14 foo.c
-# compares the unmodified version of foo.c with the way foo.c looked
-# in revision 14
+# affiche, pour le répertoire versionné courant, les messages de
propagation depuis
+# la dernière mise à jour (svn update)
+
+$ svn update -r PREV machin.c
+# revient une version en arrière pour le fichier machin.c
+# Ceci diminue de un la révision de la version de travail du fichier
machin.c
+
+$ svn diff -r BASE:14 machin.c
+# compare la version non modifiée localement de machin.c avec
+# la version de ce fichier à la révision 14
+
</screen>
</sect2>
<!-- ===============================================================
-->
<sect2 id="svn.tour.revs.dates">
- <title>Revision Dates</title>
+ <title>Dates de révision</title>
<indexterm>
- <primary>revisions</primary>
- <secondary>specified as dates</secondary>
+ <primary>Révisions</primary>
+ <secondary>dates de révisions</secondary>
</indexterm>
- <para>Revision numbers reveal nothing about the world outside
- the version control system, but sometimes you need to
- correlate a moment in real time with a moment in version
- history. To facilitate this, the <option>--revision</option>
- (<option>-r</option>) option can also accept as input date
- specifiers wrapped in curly braces (<literal>{</literal> and
- <literal>}</literal>). Subversion accepts the standard
- ISO-8601 date and time formats, plus a few others. Here are
- some examples. (Remember to use quotes around any date that
- contains spaces.)</para>
+ <para>Les numéros de révision n'ont aucune signification en dehors
+ du système de gestion de versions. Cependant, parfois, vous aurez
+ besoin d'associer une date réelle à un moment précis de
+ l'historique des versions. Pour ça, l'option
+ <option>--revision</option>(<option>-r</option>) accepte comme
+ argument une date placée entre accolades (<literal>{</literal> et
+ <literal>}</literal>). Subversion accepte les dates et les heures
+ aux formats définis dans le standard ISO-8601, et quelques autres
+ formats. Voici quelques exemples (n'oubliez pas de mettre les
+ dates qui contiennent des espaces entre
+ guillemets) :</para>
<screen>
$ svn checkout -r {2006-02-17}
@@ -210,43 +219,43 @@
…
</screen>
- <para>When you specify a date, Subversion resolves that date to
- the most recent revision of the repository as of that date,
- and then continues to operate against that resolved revision
- number:</para>
+ <para>Quand vous spécifiez une date, Subversion convertit cette
+ date vers le numéro de révision le plus récent du dépôt à la
+ date spécifiée. Puis, il continue son travail avec ce numéro de
+ révision :</para>
<screen>
$ svn log -r {2006-11-28}
------------------------------------------------------------------------
-r12 | ira | 2006-11-27 12:31:51 -0600 (Mon, 27 Nov 2006) | 6 lines
+r12 | ira | 2006-11-27 12:31:51 -0600 (lun. 27 Nov. 2006) | 6 lignes
…
</screen>
<sidebar>
- <title>Is Subversion a Day Early?</title>
-
- <para>If you specify a single date as a revision without
- specifying a time of day (for example
- <literal>2006-11-27</literal>), you may think that Subversion
- should give you the last revision that took place on the
- 27th of November. Instead, you'll get back a revision from
- the 26th, or even earlier. Remember that Subversion will
- find the <emphasis>most recent revision of the
- repository</emphasis> as of the date you give. If you give
- a date without a timestamp, such as
- <literal>2006-11-27</literal>, Subversion assumes a time of
- 00:00:00, so looking for the most recent revision won't
- return anything on the 27th.</para>
-
- <para>If you want to include the 27th in your search, you can
- either specify the 27th with the time (<literal>{"2006-11-27
- 23:59"}</literal>), or just specify the next day
+ <title>Subversion retarde-t-il d'une journée ?</title>
+
+ <para>Si vous spécifiez une date de révision sans préciser
+ l'heure (par exemple <literal>2006-11-27</literal>), vous
+ pourriez penser que Subversion vous donnera la dernière
+ révision qui a eu lieu le 27 novembre. En fait, vous aurez une
+ révision datant du 26, voire même avant. Souvenez-vous que
+ Subversion renvoie <emphasis>la révision la plus récente du
+ dépôt</emphasis> à la date spécifiée. Si vous spécifiez une
+ date sans préciser l'heure, comme <literal>2006-11-27</literal>,
+ Subversion utilise alors 00h00 comme heure, et la recherche de
+ la plus récente révision ne renverra donc pas de résultat
+ correspondant au 27 novembre.</para>
+
+ <para>Si vous voulez inclure le 27 dans votre recherche, vous
+ pouvez soit spécifier une heure (<literal>{"2006-11-27
+ 23:59"}</literal>), soit simplement spécifier le jour suivant
(<literal>{2006-11-28}</literal>).</para>
</sidebar>
- <para>You can also use a range of dates. Subversion will find
- all revisions between both dates, inclusive:</para>
+ <para>Vous pouvez également utiliser des intervalles de dates.
+ Subversion trouvera alors les révisions incluses entre ces deux
+ dates :</para>
<screen>
$ svn log -r {2006-11-20}:{2006-11-29}
@@ -254,18 +263,19 @@
</screen>
<warning>
- <para>Since the timestamp of a revision is stored as an
- unversioned, modifiable property of the revision (see <xref
- linkend="svn.advanced.props" />), revision timestamps can be
- changed to represent complete falsifications of true
- chronology, or even removed altogether. Subversion's
- ability to correctly convert revision dates into real
- revision numbers depends on revision datestamps maintaining
- a sequential ordering—the younger the revision, the
- younger its timestamp. If this ordering isn't maintained,
- you will likely find that trying to use dates to specify
- revision ranges in your repository doesn't always return the
- data you might have expected.</para>
+ <para>Puisque l'horodatage d'une révision est stocké comme une
+ propriété modifiable et non suivi en version de la révision
+ (reportez-vous à <xref linkend="svn.advanced.props" />), les
+ horodatages peuvent être changés et ne pas refléter la
+ chronologie réelle. Ils peuvent même être tous supprimés. Or
+ la capacité de Subversion à convertir correctement les dates
+ en numéros de révision dépend des horodatages de révisions et
+ de leur ordonnancement correct dans le temps : à une
+ révision antérieure correspond un horodatage antérieur. Si cet
+ ordonnancement n'est pas maintenu, il y a de grandes chances
+ que l'utilisation des dates pour spécifier des intervalles de
+ révisions dans votre dépôt ne fournisse pas les résultats
+ attendus.</para>
</warning>
</sect2>
@@ -276,192 +286,203 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.advanced.props">
- <title>Properties</title>
+ <title>Propriétés</title>
<indexterm>
- <primary>properties</primary>
+ <primary>propriétés</primary>
</indexterm>
- <para>We've already covered in detail how Subversion stores and
- retrieves various versions of files and directories in its
- repository. Whole chapters have been devoted to this most
- fundamental piece of functionality provided by the tool. And
- if the versioning support stopped there, Subversion would still
- be complete from a version control perspective.</para>
-
- <para>But it doesn't stop there.</para>
-
- <para>In addition to versioning your directories and files,
- Subversion provides interfaces for adding, modifying, and
- removing versioned metadata on each of your versioned
- directories and files. We refer to this metadata as
- <firstterm>properties</firstterm>, and they can be thought of as
- two-column tables that map property names to arbitrary values
- attached to each item in your working copy. Generally speaking,
- the names and values of the properties can be whatever you want
- them to be, with the constraint that the names must contain only
- ASCII characters. And the best part about these properties is
- that they, too, are versioned, just like the textual contents of
- your files. You can modify, commit, and revert property changes
- as easily as you can file content changes. And the sending and
- receiving of property changes occurs as part of your typical
- commit and update operations—you don't have to change your
- basic processes to accommodate them.</para>
+ <para>Nous avons vu en détail comment Subversion stocke et récupère
+ les différentes versions des fichiers et répertoires dans le dépôt.
+ Des chapitres entiers ont décrit cette fonctionnalité fondamentale
+ de l'outil. Et si la gestion de versions se limitait à ça,
+ Subversion couvrirait déjà complètement les besoins attendus.</para>
+
+ <para>Mais ce n'est pas tout.</para>
+
+ <para>En plus de gérer les versions de vos répertoires et de vos
+ fichiers, Subversion fournit une interface pour ajouter, modifier
+ et supprimer des méta-données suivies en version pour chacun de vos
+ répertoires et de vos fichiers. On appelle ces méta-données des
+ <firstterm>propriétés</firstterm>. Elles peuvent être pensées
+ comme des tableaux à deux colonnes, qui associent des noms de
+ propriétés à des valeurs arbitraires, pour chaque élément de votre
+ copie de travail. En termes simples, vous pouvez assigner n'importe
+ quel nom et n'importe quelle valeur à vos propriétés, à la seule
+ condition que le nom doit être un texte lisible par un humain. Et
+ l'atout principal de ces propriétés réside dans le fait qu'elles
+ sont également suivies en version, tout comme le contenu textuel
+ de vos fichiers. Vous pouvez modifier, propager et revenir en
+ arrière sur les propriétés aussi facilement que sur le contenu des
+ fichiers. L'envoi et la réception des changements concernant les
+ propriétés intervient a lieu lors de vos propagations et mises à
+ jour : vous n'avez pas à changer vos habitudes pour les
+ utiliser.</para>
<note>
- <para>Subversion has reserved the set of properties whose names
- begin with <literal>svn:</literal> as its own. While there
- are only a handful of such properties in use today, you should
- avoid creating custom properties for your own needs whose names
- begin with this prefix. Otherwise, you run the risk that a
- future release of Subversion will grow support for a feature
- or behavior driven by a property of the same name but with
- perhaps an entirely different interpretation.</para>
+ <para>Subversion a réservé pour son propre usage les propriétés
+ dont le nom commence par <literal>svn:</literal>. Bien qu'il n'y
+ en ait seulement que quelques unes d'utilisées actuellement,
+ vous ne devriez pas créer vos propres propriétés avec un nom
+ commençant par ce préfixe. Sinon, vous courrez le risque qu'une
+ future version de Subversion définisse une propriété ayant le
+ même nom mais avec un usage tout autre.</para>
</note>
- <para>Properties show up elsewhere in Subversion, too. Just as
- files and directories may have arbitrary property names and
- values attached to them, each revision as a whole may have
- arbitrary properties attached to it. The same constraints
- apply—human-readable names and anything-you-want binary
- values. The main difference is that revision properties are not
- versioned. In other words, if you change the value of, or
- delete, a revision property, there's no way, within the scope of
- Subversion's functionality, to recover the previous value.</para>
-
- <para>Subversion has no particular policy regarding the use of
- properties. It asks only that you not use property names that
- begin with the prefix <literal>svn:</literal>. That's the
- namespace that it sets aside for its own use. And Subversion
- does, in fact, use properties—both the versioned and
- unversioned variety. Certain versioned properties have special
- meaning or effects when found on files and directories, or they
- house a particular bit of information about the revisions on
- which they are found. Certain revision properties are
- automatically attached to revisions by Subversion's commit
- process, and they carry information about the revision. Most of
- these properties are mentioned elsewhere in this or other
- chapters as part of the more general topics to which they are
- related. For an exhaustive list of Subversion's predefined
- properties, see <xref linkend="svn.ref.properties" />.</para>
-
- <para>In this section, we will examine the utility—both to
- users of Subversion and to Subversion itself—of property
- support. You'll learn about the property-related
- <command>svn</command> subcommands and how property
- modifications affect your normal Subversion workflow.</para>
+ <para>Les propriétés sont aussi présentes ailleurs dans Subversion.
+ De la même manière que pour les fichiers et répertoires, chaque
+ révision en tant que telle peut avoir des propriétés arbitraires
+ associées. Les mêmes contraintes s'appliquent : nom lisible
+ par un humain et valeur arbitraire, éventuellement binaire. La
+ différence principale est que les propriétés des révisions ne sont
+ pas suivies en version. Autrement dit, si vous changez la valeur
+ ou si vous supprimez une propriété d'une révision, il n'y a pas
+ moyen, en utilisant Subversion, de revenir à la valeur
+ précédente.</para>
+
+ <para>Subversion ne fournit pas de recommandation précise quant à
+ l'utilisation des propriétés. Il demande seulement de ne pas
+ utiliser de nom de propriété qui commence par le préfixe
+ <literal>svn:</literal>. C'est l'espace de noms qu'il garde pour
+ son propre usage. Et Subversion utilise bien lui-même les
+ propriétés, suivies en version ou pas. Certaines propriétés
+ suivies en versions ont une signification particulière ou des
+ effets particuliers quand elles font référence à un fichier ou à
+ un répertoire, ou stockent des informations relatives à la
+ révision à laquelle elles font référence. Certaines propriétés de
+ révision sont automatiquement rattachées à une révision par la
+ procédure de propagation et stockent des informations relatives à
+ cette révision. La plupart de ces propriétés sont mentionnées
+ ailleurs dans ce chapitre ou dans d'autres chapitres comme faisant
+ partie de sujets plus généraux. Pour une liste exhaustive des
+ propriétés pré-définies de Subversion, référez-vous à
+ <xref linkend="svn.ref.properties" />.</para>
+
+ <para>Dans cette section, nous examinerons l'utilité des propriétés,
+ à la fois pour l'utilisateur et pour Subversion lui-même. Vous
+ apprendrez les sous-commandes <command>svn</command> relatives aux
+ propriétés et comment la modification des propriétés change votre
+ manière habituelle d'utiliser Subversion.</para>
<!-- ===============================================================
-->
<sect2 id="svn.advanced.props.why">
- <title>Why Properties?</title>
-
- <para>Just as Subversion uses properties to store extra
- information about the files, directories, and revisions that
- it contains, you might also find properties to be of similar
- use. You might find it useful to have a place
- close to your versioned data to hang custom metadata about
- that data.</para>
-
- <para>Say you wish to design a web site that houses many digital
- photos and displays them with captions and a datestamp. Now,
- your set of photos is constantly changing, so you'd like to
- have as much of this site automated as possible. These photos
- can be quite large, so as is common with sites of this nature,
- you want to provide smaller thumbnail images to your site
- visitors.</para>
-
- <para>Now, you can get this functionality using traditional
- files. That is, you can have your
- <filename>image123.jpg</filename> and an
- <filename>image123-thumbnail.jpg</filename> side by side in a
- directory. Or if you want to keep the filenames the same, you
- might have your thumbnails in a different directory, such as
- <filename>thumbnails/image123.jpg</filename>. You can also
- store your captions and datestamps in a similar fashion, again
- separated from the original image file. But the problem here
- is that your collection of files multiplies with each new
- photo added to the site.</para>
-
- <para>Now consider the same web site deployed in a way that
- makes use of Subversion's file properties. Imagine having a
- single image file, <filename>image123.jpg</filename>, with
- properties set on that file that are named
- <literal>caption</literal>, <literal>datestamp</literal>, and
- even <literal>thumbnail</literal>. Now your working copy
- directory looks much more manageable—in fact, it looks
- to the casual browser like there are nothing but image files
- in it. But your automation scripts know better. They know
- that they can use <command>svn</command> (or better yet, they
- can use the Subversion language bindings—see <xref
- linkend="svn.developer.usingapi" />) to dig out the extra
- information that your site needs to display without having to
- read an index file or play path manipulation games.</para>
+ <title>Pourquoi des propriétés ?</title>
+
+ <para>À l'instar de Subversion, qui utilise les propriétés
+ pour stocker des méta-données sur les fichiers, les répertoires
+ et les révisions qu'il gère, vous pourriez faire une utilisation
+ similaire des propriétés. Vous pourriez trouver utile d'avoir un
+ endroit, près de vos données suivies en versions, pour stocker
+ des méta-données relatives à vos données.</para>
+
+ <para>Imaginons que vous vouliez créer un site Web qui héberge
+ beaucoup de photos et qui les affiche avec une légende et une
+ date. D'accord, mais votre collection de photos change constamment,
+ donc vous voudriez automatiser le plus possible la gestion du
+ site. Ces photos peuvent être relativement volumineuses et vous
+ voulez pouvoir fournir des miniatures à vos visiteurs, comme
+ c'est généralement le cas sur ce genre de sites.</para>
+
+ <para>Certes, vous pouvez le faire en utilisant des fichiers
+ traditionnels. C'est-à-dire que vous aurez votre
+ <filename>image123.jpg</filename> et une
+ <filename>image123-thumbnail.jpg</filename> côte à côte dans un
+ répertoire. Ou, si vous voulez garder les mêmes noms de fichier,
+ vous placerez vos miniatures dans un répertoire différent, comme
+ <filename>thumbnails/image123.jpg</filename>. Vous pouvez
+ également stocker vos légendes et dates de la même façon,
+ séparées encore une fois du fichier image original. Mais le
+ problème est que votre collection de fichiers s'agrandit de
+ plusieurs fichiers à chaque nouvelle photo ajoutée au
+ site.</para>
+
+ <para>Maintenant, considérons le même site Web conçu en utilisant
+ les propriétés des fichiers fournies par Subversion. Imaginez un
+ simple fichier image, <filename>image123.jpg</filename>, et un
+ ensemble de propriétés relatives à ce fichier nommées
+ <literal>légende</literal>,<literal>date</literal> et même
+ <literal>miniature</literal>. Maintenant, le répertoire de votre
+ copie de travail se gère beaucoup plus facilement ; en fait,
+ vu du navigateur, il semble ne contenir que des images. Mais vos
+ scripts d'automatisation vont plus loin : ils savent qu'ils
+ peuvent utiliser les commandes <command>svn</command> (ou mieux,
+ ils peuvent utiliser les connecteurs spécifiques au langage
+ utilisé, voir <xref linkend="svn.developer.usingapi" />) pour
+ extraire les informations dont votre site a besoin sans avoir à
+ lire un fichier d'index ou à jouer avec des chemins de
+ fichiers.</para>
<note>
- <para>While Subversion places few restrictions on the names
- and values you use for properties, it has not been designed
- to optimally carry large property values or large sets of
- properties on a given file or directory. Subversion
- commonly holds all the property names and values associated
- with a single item in memory at the same time, which can
- cause detrimental performance or failed operations when
- extremely large property sets are used.</para>
+ <para>Bien que Subversion n'impose que peu de restrictions sur
+ les noms et les valeurs des propriétés, il n'a pas été conçu
+ pour gérer de façon optimale des valeurs de propriétés de
+ grande taille ou un grand nombre de propriétés sur un fichier
+ ou un répertoire donné. Subversion garde souvent en mémoire en
+ même temps tous les noms et valeurs de propriétés associés à
+ un élément, ce qui peut engendrer des problèmes de performance
+ lors de l'utilisation de très gros ensembles de
+ propriétés.</para>
</note>
- <para>Custom revision properties are also frequently used. One
- common such use is a property whose value contains an issue
- tracker ID with which the revision is associated, perhaps
- because the change made in that revision fixes a bug filed in
- the tracker issue with that ID. Other uses include hanging
- more friendly names on the revision—it might be hard to
- remember that revision 1935 was a fully tested revision. But
- if there's, say, a <literal>test-results</literal> property on
- that revision with the value <literal>all passing</literal>,
- that's meaningful information to have.</para>
+ <para>On utilise également fréquemment des propriétés de révisions
+ personnalisées. Une utilisation classique est d'avoir une
+ propriété qui contient un identifiant en provenance d'un autre
+ outil de gestion et de l'associer à une révision. Par exemple,
+ l'outil de gestion est utilisé pour suivre les bogues et la
+ révision corrige le bogue associé à l'identifiant. Ce peut aussi
+ être l'utilisation de noms plus conviviaux pour les
+ révisions : il peut être difficile de se remémorer que la
+ révision 1935 correspond à une révision qui a subi la totalité
+ des tests, alors qu'une propriété
+ <literal>resultat-des-tests</literal> avec la valeur
+ <literal>tout ok</literal> est autrement plus utile.</para>
<sidebar>
- <title>Searchability (or, Why <emphasis>Not</emphasis>
- Properties)</title>
-
- <para>For all their utility, Subversion properties—or,
- more accurately, the available interfaces to them—have
- a major shortcoming: while it is a simple matter to
- <emphasis>set</emphasis> a custom property,
- <emphasis>finding</emphasis> that property later is a whole
- different ball of wax.</para>
-
- <para>Trying to locate a custom revision property generally
- involves performing a linear walk across all the revisions
- of the repository, asking of each revision, "Do you have the
- property I'm looking for?" Trying to find a custom
- versioned property is painful, too, and often involves a
- recursive <command>svn propget</command> across an entire
- working copy. In your situation, that might not be as bad
- as a linear walk across all revisions. But it certainly
- leaves much to be desired in terms of both performance and
- likelihood of success, especially if the scope of your
- search would require a working copy from the root of your
- repository.</para>
-
- <para>For this reason, you might choose—especially in
- the revision property use case—to simply add your
- metadata to the revision's log message using some
- policy-driven (and perhaps programmatically enforced)
- formatting that is designed to be quickly parsed from the
- output of <command>svn log</command>. It is quite common to
- see the following in Subversion log messages:</para>
+ <title>Retrouver ses petits (ou savoir <emphasis>ne pas
+ utiliser</emphasis> les propriétés)</title>
+
+ <para>Bien que très utiles, les propriétés Subversion, ou plus
+ exactement les interfaces disponibles pour y accéder, ont une
+ lacune majeure : alors qu'il est très simple de
+ <emphasis>définir</emphasis> une propriété personnalisée, la
+ <emphasis>retrouver</emphasis> plus tard est une toute autre
+ affaire.</para>
+
+ <para>Trouver une propriété de révision personnalisée implique
+ généralement d'effectuer un parcours linéaire de toutes les
+ révisions du dépôt, en demandant à chacune :
+ <quote>Avez-vous la propriété que je cherche ?</quote>
+ Trouver une propriété personnalisée suivie en version est
+ également difficile, et implique souvent un appel récursif à
+ <command>svn propget</command>sur toute une copie de travail.
+ Dans votre situation, ce pourrait être moins pire que le
+ parcours linéaire de toutes les révisions. Mais cela laisse
+ certainement beaucoup à désirer en termes de performance et de
+ probabilité de réussite, surtout si, pour votre recherche, il
+ faut une copie de travail de la racine de votre dépôt.</para>
+
+ <para>C'est pourquoi, vous pourriez choisir, en particulier pour
+ ce qui concerne les propriétés de révisions, de simplement
+ ajouter les méta-données au message de propagation. Par
+ exemple, utilisez une politique de formatage (idéalement
+ appliquée automatiquement par un script) conçue pour être
+ rapidement analysée à partir de la sortie de
+ <command>svn log</command>. Ainsi, il est assez fréquent de
+ voir dans Subversion des messages de propagation qui
+ ressemblent à :</para>
<programlisting>
-Issue(s): IZ2376, IZ1919
-Reviewed by: sally
-
-This fixes a nasty segfault in the wort frabbing process
+Problème(s): IZ2376, IZ1919
+Corrigé par: sally
+
+Corrige un méchant plantage dans la fonction machin bidule
…
</programlisting>
- <para>But here again lies some misfortune. Subversion doesn't
- yet provide a log message templating mechanism, which would
- go a long way toward helping users be consistent with the
- formatting of their log-embedded revision metadata.</para>
+ <para>Mais hélas, cela ne résout pas tout. Subversion ne fournit
+ pas encore de mécanisme pour gérer des modèles de messages
+ associés aux propagations, ce qui aiderait pourtant beaucoup les
+ utilisateurs à respecter le format des méta-données qu'ils
+ placent dans les messages de révision.</para>
</sidebar>
@@ -469,41 +490,42 @@
<!-- ===============================================================
-->
<sect2 id="svn.advanced.props.manip">
- <title>Manipulating Properties</title>
-
- <para>The <command>svn</command> program affords a few ways to
- add or modify file and directory properties. For properties
- with short, human-readable values, perhaps the simplest way to
- add a new property is to specify the property name and value
- on the command line of the <command>svn propset</command>
- subcommand:</para>
+ <title>Manipuler les propriétés</title>
+
+ <para>La commande <command>svn</command>offre différentes
+ possibilités pour ajouter ou modifier des propriétés sur les
+ fichiers et les répertoires. Pour les propriétés avec des
+ valeurs courtes, lisibles par un humain, la solution la plus
+ simple est sûrement de spécifier le nom de la propriété et sa
+ valeur en ligne de commande avec la
+ sous-commande <command>svn propset</command> :</para>
<screen>
-$ svn propset copyright '(c) 2006 Red-Bean Software' calc/button.c
-property 'copyright' set on 'calc/button.c'
+$ svn propset copyright '(c) 2006 Red-Bean Software' calc/bouton.c
+Propriété 'copyright' définie sur 'calc/bouton.c'
$
</screen>
- <para>But we've been touting the flexibility that Subversion
- offers for your property values. And if you are planning to
- have a multiline textual, or even binary, property value, you
- probably do not want to supply that value on the command line.
- So the <command>svn propset</command> subcommand takes a
- <option>--file</option> (<option>-F</option>) option for
- specifying the name of a file that contains the new property
- value.</para>
+ <para>Mais nous avons vanté la souplesse de Subversion pour
+ spécifier les valeurs des propriétés. Ainsi, si vous envisagez
+ d'avoir des valeurs de plusieurs lignes de texte, ou même une
+ valeur binaire, la passer en ligne de commande ne vous convient
+ pas. La sous-commande <command>svn propset</command> accepte donc
+ l'option <option>--file</option> (<option>-F</option>) pour
+ spécifier le nom d'un fichier qui contient la nouvelle valeur de
+ la propriété.</para>
<screen>
-$ svn propset license -F /path/to/LICENSE calc/button.c
-property 'license' set on 'calc/button.c'
+$ svn propset license -F /chemin/vers/LICENCE calc/bouton.c
+Propriété 'license' définie sur 'calc/bouton.c'
$
</screen>
- <para>There are some restrictions on the names you can use for
- properties. A property name must start with a letter, a colon
- (<literal>:</literal>), or an underscore
- (<literal>_</literal>); after that, you can also use digits,
- hyphens (<literal>-</literal>), and periods
+ <para>Il y a quelques restrictions sur les noms de propriétés. Un
+ nom de propriété doit commencer par une lettre, le caractère
+ deux points (<literal>:</literal>), ou le caractère souligné
+ (<literal>_</literal>) ; ensuite, vous pouvez utiliser des
+ chiffres, des tirets (<literal>-</literal>), et des points
(<literal>.</literal>).
<footnote>
<para>If you're familiar with XML, this is pretty much the
@@ -511,73 +533,76 @@
</footnote>
</para>
- <para>In addition to the <command>propset</command> command, the
- <command>svn</command> program supplies the
- <command>propedit</command> command. This command uses the
- configured editor program (see <xref
- linkend="svn.advanced.confarea.opts.config" />) to add or
- modify properties. When you run the command,
- <command>svn</command> invokes your editor program on a
- temporary file that contains the current value of the property
- (or that is empty, if you are adding a new property). Then,
- you just modify that value in your editor program until it
- represents the new value you wish to store for the property,
- save the temporary file, and then exit the editor program. If
- Subversion detects that you've actually changed the existing
- value of the property, it will accept that as the new property
- value. If you exit your editor without making any changes, no
- property modification will occur:</para>
+ <para>En plus de la commande <command>propset</command>,
+ <command>svn</command> dispose de la commande
+ <command>propedit</command>. Cette commande utilise l'éditeur de
+ texte pré-configuré (reportez-vous à <xref
+ linkend="svn.advanced.confarea.opts.config" />) pour ajouter ou
+ modifier des propriétés. Quand vous exécutez la commande,
+ <command>svn</command> lance votre éditeur de texte avec un
+ fichier temporaire qui contient la valeur actuelle de la
+ propriété (ou un contenu vierge si vous ajoutez une nouvelle
+ propriété). Vous pouvez alors modifier la valeur dans l'éditeur
+ de texte pour y placer votre nouvelle valeur, sauvegarder le
+ fichier temporaire et quitter l'éditeur. Si Subversion détecte
+ que la valeur a effectivement changé, il la prend en compte. Si
+ vous quittez l'éditeur sans faire de changement, la propriété ne
+ sera pas modifiée :</para>
<screen>
-$ svn propedit copyright calc/button.c ### exit the editor without changes
-No changes to property 'copyright' on 'calc/button.c'
+$ svn propedit copyright calc/bouton.c ### sortez de l'éditeur sans faire
de modification
+Pas de modification de la propriété 'copyright' sur 'calc/bouton.c'
$
</screen>
- <para>We should note that, as with other <command>svn</command>
- subcommands, those related to properties can act on multiple
- paths at once. This enables you to modify properties on whole
- sets of files with a single command. For example, we could
- have done the following:</para>
+ <para>Vous pouvez noter que, à l'instar des autres commandes
+ <command>svn</command>, celles relatives aux propriétés
+ fonctionnent aussi sur des chemins multiples. Vous pouvez ainsi
+ modifier les propriétés d'un ensemble de fichiers en une seule
+ commande. Par exemple, nous aurions pu taper :</para>
<screen>
$ svn propset copyright '(c) 2006 Red-Bean Software' calc/*
-property 'copyright' set on 'calc/Makefile'
-property 'copyright' set on 'calc/button.c'
-property 'copyright' set on 'calc/integer.c'
+Propriété 'copyright' définie sur 'calc/Makefile'
+Propriété 'copyright' définie sur 'calc/bouton.c'
+Propriété 'copyright' définie sur 'calc/entier.c'
…
$
</screen>
- <para>All of this property adding and editing isn't really very
- useful if you can't easily get the stored property value. So
- the <command>svn</command> program supplies two subcommands
- for displaying the names and values of properties stored on
- files and directories. The <command>svn proplist</command>
- command will list the names of properties that exist on a
- path. Once you know the names of the properties on the node,
- you can request their values individually using <command>svn
- propget</command>. This command will, given a property name and a
path (or set of
- paths), print the value of the property to
- the standard output stream.</para>
+ <para>Toutes ces manipulations de propriétés ne seraient pas
+ vraiment utiles si vous ne pouviez pas récupérer facilement la
+ valeur d'une propriété. Subversion propose donc deux
+ sous-commandes pour afficher les noms et les valeurs des
+ propriétés stockées des fichiers et répertoires. La commande
+ <command>svn proplist</command> fournit la liste des noms de
+ propriétés qui existent dans un chemin. Une fois que vous
+ connaissez les noms des propriétés d'un élément, vous pouvez
+ obtenir les valeurs correspondantes avec la commande
+ <command>svn propget</command>. Cette commande affiche sur la
+ sortie standard la valeur de la propriété dont le nom et le
+ chemin (ou l'ensemble des chemins) ont été passés en
+ paramètres.</para>
<screen>
-$ svn proplist calc/button.c
-Properties on 'calc/button.c':
+$ svn proplist calc/bouton.c
+Propriétés sur 'calc/bouton.c':
copyright
license
-$ svn propget copyright calc/button.c
+$ svn propget copyright calc/bouton.c
(c) 2006 Red-Bean Software
+$
</screen>
- <para>There's even a variation of the
- <command>proplist</command> command that will list both the
- name and the value for all of the properties. Simply supply the
- <option>--verbose</option> (<option>-v</option>) option.</para>
+ <para>Il y a même une variante de la commande
+ <command>proplist</command> qui liste à la fois le nom et la
+ valeur de toutes les propriétés. Ajoutez simplement l'option
+ <option>--verbose</option> (<option>-v</option>) à la
+ commande :</para>
<screen>
-$ svn proplist -v calc/button.c
-Properties on 'calc/button.c':
+$ svn proplist -v calc/bouton.c
+Propriétés sur 'calc/bouton.c':
copyright : (c) 2006 Red-Bean Software
license :
================================================================
Copyright (c) 2006 Red-Bean Software. All rights reserved.
@@ -592,278 +617,291 @@
…
</screen>
- <para>The last property-related subcommand is
- <command>propdel</command>. Since Subversion allows you to
- store properties with empty values, you can't remove a
- property altogether using <command>svn propedit</command> or
- <command>svn propset</command>. For example, this command will
- <emphasis>not</emphasis> yield the desired effect:</para>
+ <para>La dernière sous-commande relative aux propriétés est
+ <command>propdel</command>. Puisque Subversion vous autorise à
+ stocker des propriétés avec une valeur vide, vous ne pouvez pas
+ supprimer une propriété en utilisant <command>svn
propedit</command>
+ ou <command>svn propset</command>. Par exemple, la commande
+ suivante <emphasis>ne fournit pas</emphasis> le résultat
+ escompté :</para>
***The diff for this file has been truncated for email.***
More information about the svnbook-dev
mailing list