[svnbook] r3689 committed - Translation to French of Chapter 3 : done.

svnbook at googlecode.com svnbook at googlecode.com
Thu Feb 11 12:00:05 CST 2010


Revision: 3689
Author: christophe.nanteuil
Date: Thu Feb 11 09:59:07 2010
Log: Translation to French of Chapter 3 : done.

http://code.google.com/p/svnbook/source/detail?r=3689

Modified:
  /trunk/src/fr/book/ch03-advanced-topics.xml

=======================================
--- /trunk/src/fr/book/ch03-advanced-topics.xml	Sun Feb  7 14:46:25 2010
+++ /trunk/src/fr/book/ch03-advanced-topics.xml	Thu Feb 11 09:59:07 2010
@@ -2278,18 +2278,19 @@
        pour modifications</quote> des fichiers dans d'autres systèmes de
        gestion de versions.</para>

-    <para>Subversion's locking feature exists ultimately to minimize
-      wasted time and effort.  By allowing a user to programmatically
-      claim the exclusive right to change a file in the repository,
-      that user can be reasonably confident that any energy he invests
-      on unmergeable changes won't be wasted—his commit of those
-      changes will succeed.  Also, because Subversion communicates to
-      other users that serialization is in effect for a particular
-      versioned object, those users can reasonably expect that the
-      object is about to be changed by someone else.  They, too, can
-      then avoid wasting their time and energy on unmergeable changes
-      that won't be committable due to eventual
-      out-of-dateness.</para>
+    <para>En fin de compte, la fonctionnalité de verrouillage existe afin
+      de minimiser les pertes de temps et les efforts. En autorisant un
+      utilisateur à s'arroger logiciellement le droit exclusif de
+      modifier un fichier dans le dépôt, cet utilisateur peut être
+      suffisamment confiant dans le fait que son travail ne sera pas
+      vain — la propagation de ses changements réussira. Aussi,
+      en signifiant aux autres utilisateurs qu'une sérialisation a lieu
+      pour un objet suivi en versions, ces utilisateurs peut
+      raisonnablement s'attendre à ce que cet objet soit modifié par
+      quelqu'un d'autre. Eux aussi peuvent alors éviter de perdre leur
+      temps et leur énergie sur des modifications qui ne pourront pas
+      être fusionnées en raison d'un problème de mise à jour du fichier
+      correspondant.</para>

      <para>La fonctionnalité de verrouillage de Subversion comporte en
        fait plusieurs facettes, qui permettent entre autres de
@@ -2309,13 +2310,13 @@
        <title>Les trois types de <quote>verrous</quote></title>

        <para>Dans cette section, et pratiquement partout dans ce livre,
-        les mots <quote>verrou</quote> et <quote>verrrouillage</quote>
+        les mots <quote>verrou</quote> et <quote>verrouillage</quote>
          décrivent un mécanisme d'exclusion mutuelle entre utilisateurs
          pour éviter des propagations incompatibles. Malheureusement, il
          existe deux autres sortes de <quote>verrous</quote> auxquels
          Subversion, et donc ce livre, sont confrontés.</para>

-      <para>Les premiers sont des <firstterm>verrous des copie de
+      <para>Les premiers sont des <firstterm>verrous des copies de
          travail</firstterm>, utilisés en interne par Subversion pour
          éviter des collisions entre de multiples instances du client
          Subversion travaillant sur la même copie de travail. Ce type de
@@ -2899,7 +2900,7 @@
    <!-- =================================================================  
-->
    <!-- =================================================================  
-->
    <sect1 id="svn.advanced.externals">
-    <title>Définitions externes</title>
+    <title>Définition de références externes</title>

      <para>Parfois il peut être utile de construire une copie de travail
        issue de différentes extractions. Par exemple, vous pouvez avoir
@@ -2911,49 +2912,50 @@
        est importante pour tous les utilisateurs de votre dépôt, chacun
        devra effectuer les mêmes opérations d'extraction que vous.</para>

-    <para>Heureusement, Subversion supporte les <firstterm>définitions
-      externes</firstterm>. Une définition externe est une association
-      entre un répertoire local et une URL (et idéalement un numéro de
-      révision particulier) pour un répertoire suivi en versions. Dans
-      Subversion, vous déclarez les définitions externes dans des
-      groupes en utilisant la propriété <literal>svn:externals</literal>.
+    <para>Heureusement, Subversion supporte les <firstterm>définitions
+      de références externes</firstterm>. Une définition de références
+      externes est une association entre un répertoire local et une URL
+      (et idéalement un numéro de révision particulier) pour un
+      répertoire suivi en versions. Dans Subversion, vous déclarez les
+      définitions de références externes dans des groupes en utilisant
+      la propriété <literal>svn:externals</literal>.
        Vous pouvez créer et modifier cette propriété en utilisant
        <command>svn propset</command> ou <command>svn propedit</command>
        (voir <xref linkend="svn.advanced.props.manip" />). Elle peut être
-      définie sur tous les répertoires suivis en version et sa valeur
-      est un tableau multi-lignes contenant des sous-répertoires
-      (relativement au répertoire sur lequel la propriété est définie),
-      des indicateurs de révision optionnels et des URL absolues et
-      complètes de dépôts Subversion.</para>
+      définie sur tous les répertoires suivis en versions et sa valeur
+      décrit à la fois l'URL du dépôt externe et le répertoire côté
+      client dans lequel sera extrait cette URL.</para>

      <para>L'un des attraits de la propriété  
<literal>svn:externals</literal>
        est qu'une fois qu'elle est définie pour un répertoire suivi en
        versions, chaque utilisateur qui extraie une copie de travail de
-      ce répertoire bénéficie des définitions externes. En d'autres
-      termes, une fois qu'un utilisateur a fait l'effort de définir les
-      extractions externes liées à la copie de travail, tout le monde
-      en bénéficie automatiquement : Subversion, lors de
+      ce répertoire bénéficie des définitions de références externes. En
+      d'autres termes, une fois qu'un utilisateur a fait l'effort de
+      définir la structure de la copie de travail imbriquée, tout le
+      monde en bénéficie automatiquement : Subversion, lors de
        l'extraction de la copie de travail originale, extraira également
        les copies de travail externes.</para>

      <warning>
-      <para>Les sous-répertoires cibles des définitions externes
-        <emphasis>ne doivent pas</emphasis> déjà exister sur votre
-        système ou sur le systèmes des autres utilisateurs :
+      <para>Les sous-répertoires cibles des définitions de références
+        externes <emphasis>ne doivent pas</emphasis> déjà exister sur
+        votre système ou sur le systèmes des autres utilisateurs :
          Subversion les créera lors de l'extraction des copies de travail
          externes.</para>
      </warning>

-    <para>You also get in the externals definition design all the
-      regular benefits of Subversion properties.  The definitions are
-      versioned.  If you need to change an externals definition, you
-      can do so using the regular property modification subcommands.
-      When you commit a change to the <literal>svn:externals</literal>
-      property, Subversion will synchronize the checked-out items
-      against the changed externals definition when you next run
-      <userinput>svn update</userinput>.  The same thing will happen when
-      others update their working copies and receive your changes to
-      the externals definition.</para>
+    <para>Vous bénéficiez avec les définitions de références externes de
+      tous les avantages liés aux propriétés Subversion. Les définitions
+      sont suivies en versions. Si vous avez besoin de changer une
+      définition de références externes, vous pouvez le faire à l'aide
+      des sous-commandes classiques sur les propriétés. Quand vous
+      propagez des modifications relatives à la propriété
+      <literal>svn:externals</literal>, Subversion synchronisera les
+      éléments extraits par rapport à la définition de références
+      externes modifiée dès que vous lancerez
+      <userinput>svn update</userinput>. Tous ceux qui
+      mettront à jour leur copie de travail recevront vos modifications
+      concernant les définitions de références externes.</para>

      <tip>
        <para>Comme la valeur de la propriété
@@ -2963,251 +2965,260 @@
          propset</command>.</para>
      </tip>

-    <para>Subversion releases prior to 1.5 honor an externals
-      definition format that is a multiline table of subdirectories
-      (relative to the versioned directory on which the property is
-      set), optional revision flags, and fully qualified, absolute
-      Subversion repository URLs.  An example of this might looks as
-      follows:</para>
+    <para>Les versions de Subversion antérieure à 1.5 utilisent un format
+      de définitions externes qui est un tableau sur plusieurs lignes
+      composées de sous-répertoires (relativement au répertoire suivi
+      en versions sur lequel est définie la propriété), d'indicateurs de
+      révision optionnels et l'URL, absolue et complètement qualifiée,
+      du dépôt Subversion. Un exemple pourrait ressembler à
+      ceci :</para>

      <screen>
  $ svn propget svn:externals calc
-third-party/sounds             http://svn.example.com/repos/sounds
-third-party/skins -r148        http://svn.example.com/skinproj
-third-party/skins/toolkit -r21 http://svn.example.com/skin-maker
+tierce-partie/sons                 http://svn.exemple.com/depot/sons
+tierce-partie/themes -r148         http://svn.exemple.com/projet-themes
+tierce-partie/themes/outils -r21   http://svn.exemple.com/outils-themes
  </screen>

-    <para>When someone checks out a working copy of the
-      <filename>calc</filename> directory referred to in the previous
-      example, Subversion also continues to check out the items found
-      in its externals definition.</para>
+    <para>Quand quelqu'un extrait une copie de travail du répertoire
+      <filename>calc</filename> décrit dans l'exemple ci-dessus,
+      Subversion extrait également les éléments trouvés dans les
+      définitions de références externes.</para>

      <screen>
-$ svn checkout http://svn.example.com/repos/calc
+$ svn checkout http://svn.exemple.com/depot/calc
  A  calc
  A  calc/Makefile
-A  calc/integer.c
-A  calc/button.c
-Checked out revision 148.
-
-Fetching external item into calc/third-party/sounds
-A  calc/third-party/sounds/ding.ogg
-A  calc/third-party/sounds/dong.ogg
-A  calc/third-party/sounds/clang.ogg
+A  calc/entier.c
+A  calc/bouton.c
+Révision 148 extraite.
+
+Récupération de la référence externe dans 'calc/tierce-partie/sons'
+A  calc/tierce-partie/sons/ding.ogg
+A  calc/tierce-partie/sons/dong.ogg
+A  calc/tierce-partie/sons/clang.ogg
  …
-A  calc/third-party/sounds/bang.ogg
-A  calc/third-party/sounds/twang.ogg
-Checked out revision 14.
-
-Fetching external item into calc/third-party/skins
+A  calc/tierce-partie/sons/bang.ogg
+A  calc/tierce-partie/sons/twang.ogg
+Révision 14 extraite.
+
+Récupération de la référence externe dans 'calc/tierce-partie/themes'
  …
  </screen>

-    <para>As of Subversion 1.5, though, a new format of the
-      <literal>svn:externals</literal> property is supported.
-      Externals definitions are still multiline, but the order and
-      format of the various pieces of information have changed.  The
-      new syntax more closely mimics the order of arguments you might
-      pass to <command>svn checkout</command>: the optional revision
-      flags come first, then the external Subversion repository URL,
-      and finally the relative local subdirectory.  Notice, though,
-      that this time we didn't say <quote>fully qualified, absolute
-      Subversion repository URLs.</quote> That's because the new
-      format supports relative URLs and URLs that carry peg revisions.
-      The previous example of an externals definition might, in
-      Subversion 1.5, look like the following:</para>
+    <para>A partir de la version 1.5 de Subversion, un nouveau format
+      de la propriété <literal>svn:externals</literal> est supporté.
+      Les références externes sont toujours multi-lignes mais l'ordre et
+      le format des différentes informations ont changé. La nouvelle
+      syntaxe ressemble plus à l'ordre des arguments que vous passeriez
+      à la commande <command>svn checkout</command> : l'indicateur
+      optionnel de révision est placé en premier, puis l'URL du dépôt
+      Subversion externe et, enfin, le sous-répertoire local relatif.
+      Notez cependant que cette fois-ci nous n'avons pas indiqué
+      <quote>URL absolue et complètement qualifiée</quote> pour le dépôt
+      externe. En effet, le nouveau format accepte les URL relatives et
+      les URL avec des piquets de révision. L'exemple précédent sur les
+      références externes pourrait, dans Subversion 1.5, ressembler à
+      ceci :</para>

      <screen>
  $ svn propget svn:externals calc
-      http://svn.example.com/repos/sounds third-party/sounds
--r148 http://svn.example.com/skinproj third-party/skins
--r21  http://svn.example.com/skin-maker third-party/skins/toolkit
+      http://svn.exemple.com/depot/sons     tierce-partie/sons
+-r148 http://svn.exemple.com/projet-themes  tierce-partie/themes
+-r21  http://svn.exemple.com/outils-themes  tierce-partie/themes/outils
  </screen>

-    <para>Or, making use of the peg revision syntax (which we describe
-      in detail in <xref linkend="svn.advanced.pegrevs" />), it might
-      appear as:</para>
+    <para>Ou, en utilisant la syntaxe avec les piquets de révision
+      (décrite en détail dans <xref linkend="svn.advanced.pegrevs" />),
+      il pourrait être écrit comme ceci :</para>

      <screen>
  $ svn propget svn:externals calc
-http://svn.example.com/repos/sounds third-party/sounds
-http://svn.example.com/skinproj@148 third-party/skins
-http://svn.example.com/skin-maker@21 third-party/skins/toolkit
+http://svn.exemple.com/depot/sons         tierce-partie/sons
+http://svn.exemple.com/projet-themes@148  tierce-partie/themes
+http://svn.exemple.com/outils-themes@21   tierce-partie/themes/outils
  </screen>

      <tip>
-      <para>You should seriously consider using explicit revision
-        numbers in all of your externals definitions.  Doing so means
-        that you get to decide when to pull down a different snapshot
-        of external information, and exactly which snapshot to pull.
-        Besides avoiding the surprise of getting changes to
-        third-party repositories that you might not have any control
-        over, using explicit revision numbers also means that as you
-        backdate your working copy to a previous revision, your
-        externals definitions will also revert to the way they looked
-        in that previous revision, which in turn means that the
-        external working copies will be updated to match the way
-        <emphasis>they</emphasis> looked back when your repository was
-        at that previous revision.  For software projects, this could
-        be the difference between a successful and a failed build of
-        an older snapshot of your complex codebase.</para>
+      <para>Il est particulièrement conseillé d'utiliser des numéros de
+        révision explicites dans toutes vos références externes. Ainsi,
+        vous conservez la possibilité de décider quand rapatrier une
+        nouvelle version de vos informations externes et quelle version
+        exacte rapatrier. En plus de vous éviter la surprise de recevoir
+        des changements effectués sur des dépôts tiers dont vous n'avez
+        pas la maîtrise, l'utilisation de numéros de révisions
+        explicites signifie aussi que, si vous revenez à une version de
+        travail antérieure, vos références externes reviendront elles
+        aussi dans l'état où elles étaient au moment de cette version
+        antérieure. Cela signifie aussi que les copies de travail
+        externes seront actualisées pour refléter
+        <emphasis>leur</emphasis> état au moment de la révision
+        antérieure. Pour des projets logiciels, cela peut faire la
+        différence entre une compilation réussie et un échec de
+        compilation d'une version antérieure d'un code source
+        complexe.</para>
      </tip>

-    <para>For most repositories, these three ways of formatting the
-      externals definitions have the same ultimate effect.  They all
-      bring the same benefits.  Unfortunately, they all bring the same
-      annoyances, too.  Since the definitions shown use absolute URLs,
-      moving or copying a directory to which they are attached will
-      not affect what gets checked out as an external (though the
-      relative local target subdirectory will, of course, move with the
-      renamed directory).  This can be confusing—even
-      frustrating—in certain situations.  For example, say you
-      have a top-level directory named
-      <filename>my-project</filename>, and you've created an externals
-      definition on one of its subdirectories
-      (<filename>my-project/some-dir</filename>) that tracks the
-      latest revision of another of its subdirectories
-      (<filename>my-project/external-dir</filename>).</para>
+    <para> Pour la plupart des dépôts, les trois formats de références
+      externes ont le même effet au final. Ils apportent tous les mêmes
+      avantages. Malheureusement, ils possèdent aussi les mêmes
+      inconvénients. Puisque les références indiquées utilisent des URL
+      absolues, déplacer ou copier un répertoire auquel elles sont
+      rattachées n'affectera pas ce qui est extrait en externe (alors
+      qu'une référence relative sera, bien évidemment, déplacée avec le
+      répertoire). Cela peut vous induire en erreur, voire vous
+      frustrer, dans certaines situations. Par exemple, imaginons un
+      répertoire racine appelé <filename>mon-projet</filename> pour
+      lequel nous avons défini des références externes dans un
+      sous-répertoire (<filename>mon-projet/un-rep</filename>)
+      vers la dernière révision d'un autre sous-répertoire
+      (<filename>mon-projet/rep-externe</filename>).</para>

      <screen>
-$ svn checkout http://svn.example.com/projects .
-A    my-project
-A    my-project/some-dir
-A    my-project/external-dir
+$ svn checkout http://svn.exemple.com/projets .
+A    mon-projet
+A    mon-projet/un-rep
+A    mon-projet/rep-externe
  …
-Fetching external item into 'my-project/some-dir/subdir'
-Checked out external at revision 11.
-
-Checked out revision 11.
-$ svn propget svn:externals my-project/some-dir
-subdir http://svn.example.com/projects/my-project/external-dir
+Récupération de la référence externe dans 'mon-projet/un-rep/sous-rep'
+Référence externe actualisée à la révision 11.
+
+Actualisé à la révision 11.
+$ svn propget svn:externals mon-projet/un-rep
+sous-rep http://svn.exemple.com/projets/mon-projet/rep-externe

  $
  </screen>

-    <para>Now you use <command>svn move</command> to rename the
-      <filename>my-project</filename> directory.  At this point, your
-      externals definition will still refer to a path under the
-      <filename>my-project</filename> directory, even though that
-      directory no longer exists.</para>
+    <para>Maintenant utilisez la commande
+      <command>svn move</command> pour renommer le répertoire
+      <filename>mon-projet</filename>. À ce moment là, vos
+      définitions de références externes  pointeront toujours vers un
+      chemin sous le répertoire <filename>mon-projet</filename>, même si
+      ce répertoire n'existe plus.</para>

      <screen>
-$ svn move -q my-project renamed-project
-$ svn commit -m "Rename my-project to renamed-project."
-Deleting       my-project
-Adding         renamed-project
-
-Committed revision 12.
+$ svn move -q mon-projet nouveau-projet
+$ svn commit -m "Renommé mon-projet en nouveau-projet."
+Suppression    mon-projet
+Ajout          nouveau-projet
+
+Révision 12 propagée.
  $ svn update

-Fetching external item into 'renamed-project/some-dir/subdir'
-svn: Target path does not exist
+Récupération de la référence externe dans 'nouveau-projet/un-rep/sous-rep'
+svn: Le dépôt http://svn.exemple.com/projets/mon-projet/rep-externe  
n'existe pas
+
  $
  </screen>

-    <para>De plus, les URL absolues utilisées par les définitions
+    <para>De plus, les URL absolues utilisées par les références
        externes peuvent causer des problèmes pour les dépôts accessibles
        via plusieurs types d'URL. Par exemple, si votre serveur
        Subversion est configuré pour autoriser tout le monde à consulter
        le dépôt via <literal>http://</literal> ou  
<literal>https://</literal>,
        mais que les opérations de propagation doivent être effectuées
        uniquement via <literal>https://</literal>, vous vous retrouvez
-      bien embêté. Si vos définitions externes font référence à la
-      forme <literal>http://</literal>, vous ne pourrez pas effectuer de
+      bien embêté. Si vos références externes pointent vers une URL de
+      type <literal>http://</literal>, vous ne pourrez pas effectuer de
        propagation depuis les copies de travail créées via ces
-      définitions externes. D'un autre côté, si vous utilisez la forme
-      <literal>https://</literal>literal> pour les URL, ceux qui voudront
+      références externes. D'un autre côté, si vous utilisez la forme
+      <literal>https://</literal> pour les URL, ceux qui voudront
        effectuer des consultations via <literal>http://</literal>, parce
        que leur client ne sait pas traiter le <literal>https://</literal>,
        seront incapables de récupérer les éléments externes. Soyez
        conscient également que si vous avez besoin de déplacer toute
-      votre copie de travail (avec <command>svn switch
-      --relocate</command>), les définitions externes ne seront pas
-      mises à jour en conséquence.</para>
-
-   <para>Subversion 1.5 takes a huge step in relieving these
-     frustrations.  As mentioned earlier, the URLs used in the new
-     externals definition format can be relative, and Subversion
-     provides syntax magic for specifying multiple flavors of URL
-     relativity.</para>
+      votre copie de travail (avec <command>svn switch</command> et
+      l'option <option>--relocate</option>), les références externes ne
+      seront pas mises à jour en conséquence.</para>
+
+   <para>Subversion 1.5 franchit un grand pas dans la résolution de ces
+     soucis. Comme indiqué précédemment, les URL utilisées dans le
+     nouveau format des définitions des références externes peuvent être
+     relatives. Par ailleurs, Subversion autorise une syntaxe magique
+     pour spécifier plusieurs types d'URL relatives.</para>

      <variablelist>
        <varlistentry>
          <term><literal>../</literal></term>
-        <listitem><para>Relative to the URL of the directory on which
-          the <literal>svn:externals</literal> property is
-          set</para></listitem>
+        <listitem><para>Relative à l'URL du répertoire sur lequel la
+          propriété <literal>svn:externals</literal> est
+          définie.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>^/</literal></term>
-        <listitem><para>Relative to the root of the repository in
-          which the <literal>svn:externals</literal> property is
-          versioned</para></listitem>
+        <listitem><para>Relative à la racine du dépôt pour lequel la
+          propriété <literal>svn:externals</literal> est suivie en
+          versions.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>//</literal></term>
-        <listitem><para>Relative to the scheme of the URL of the
-          directory on which the <literal>svn:externals</literal>
-          property is set</para></listitem>
+        <listitem><para>Relative au type d'URL du répertoire sur lequel
+          la propriété <literal>svn:externals</literal> est
+          définie.</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><literal>/</literal></term>
-        <listitem><para>Relative to the root URL of the server on
-          which the <literal>svn:externals</literal> property is
-          versioned</para></listitem>
+        <listitem><para>Relative à l'URL du serveur sur lequel la
+          propriété <literal>svn:externals</literal> est suivie en
+          versions.</para></listitem>
        </varlistentry>
      </variablelist>

-    <para>So, looking a fourth time at our previous externals
-      definition example, and making use of the new absolute URL
-      syntax in various ways, we might now see:</para>
+    <para>Donc, considérons pour la quatrième fois la définition de
+      nos références externes de l'exemple précédent et utilisons la
+      nouvelle syntaxe de différentes manière. Nous
+      obtenons :</para>

      <screen>
  $ svn propget svn:externals calc
-^/sounds third-party/sounds
-/skinproj at 148 third-party/skins
-//svn.example.com/skin-maker at 21 third-party/skins/toolkit
+^/sons                             tierce-partie/sons
+/themes at 148                        tierce-partie/themes
+//svn.exemple.com/outils-themes at 21 tierce-partie/themes/outils
  </screen>

-    <para>The support that exists for externals definitions in
-      Subversion remains less than ideal, though.  An externals
-      definition can point only to directories, not to files.  Also, the
-      local subdirectory part of the definition cannot contain
-      <literal>..</literal> parent directory indicators (such as
-      <filename>../../skins/myskin</filename>).  Perhaps most
-      disappointingly, the working copies created via the externals
-      definition support are still disconnected from the primary
-      working copy (on whose versioned directories the
-      <literal>svn:externals</literal> property was actually set).
-      And Subversion still truly operates only on nondisjoint working
-      copies.  So, for example, if you want to commit changes that
-      you've made in one or more of those external working copies, you
-      must run <command>svn commit</command> explicitly on those
-      working copies—committing on the primary working copy will
-      not recurse into any external ones.</para>
-
-    <para>We've already mentioned some of the additional shortcomings
-      of the old <literal>svn:externals</literal> format and how the
-      new Subversion 1.5 format improves upon it.  But be careful when
-      making use of the new format that you don't inadvertently cause
-      problems for other folks accessing your repository who are using
-      older Subversion clients.  While Subversion 1.5 clients will
-      continue to recognize and support the original externals
-      definition format, older clients will <emphasis>not</emphasis>
-      be able to correctly parse the new format.</para>
-
-    <para>Besides the <command>svn checkout</command>, <command>svn
-      update</command>, <command>svn switch</command>, and
-      <command>svn export</command> commands which actually manage the
-      <firstterm>disjoint</firstterm> (or disconnected) subdirectories
-      into which externals are checked out, the <command>svn
-      status</command> command also recognizes externals definitions.
-      It displays a status code of <literal>X</literal> for the
-      disjoint external subdirectories, and then recurses into those
-      subdirectories to display the status of the external items
-      themselves.  You can pass the
-      <option>--ignore-externals</option> option to any of these
-      subcommands to disable externals definition processing.</para>
+    <para>Le support pour les références externes dans Subversion reste
+      imparfait. Une définition de références externes ne peut pointer
+      que vers des répertoires et non vers des fichiers. Par ailleurs,
+      le sous-répertoire local dans la définition ne peut pas contenir
+      d'indicateur de répertoire père (<literal>..</literal>) ;
+      Ainsi, <filename>../../themes/mon-theme</filename> est interdit.
+      Et peut-être encore plus dommage, les copies de travail créées par
+      la définition de références externes sont toujours déconnectées de
+      la copie de travail primaire (celle dans laquelle la propriété
+      <literal>svn:externals</literal> est définie sur le répertoire
+      suivi en versions). Et Subversion ne peut fonctionner pleinement
+      que sur des copies de travail d'un seul tenant. Ainsi, par
+      exemple, si vous voulez propager des changements que vous avez
+      effectués sur une ou plusieurs de ces copies de travail externes,
+      vous devez lancez <command>svn commit</command> explicitement sur
+      ces copies de travail — effectuer une propagation sur la
+      copie de travail primaire ne traitera pas récursivement les copies
+      de travail externes.</para>
+
+    <para>Nous avons déjà mentionné certains défauts de l'ancien
+      format de <literal>svn:externals</literal> et comment la version
+      1.5 de Subversion les corrige. Mais faites attention, en utilisant
+      les nouveaux formats, à ne pas pénaliser accidentellement des
+      utilisateurs qui accèderaient à votre dépôt avec de vieux clients
+      Subversion. Alors que les clients Subversion 1.5 supportent
+      toujours le format original des définitions de références
+      externes, les vieux clients <emphasis>ne seront pas
+      capables</emphasis> d'analyser le nouveau format.</para>
+
+    <para>En plus des commandes <command>svn checkout</command>,
+      <command>svn update</command>, <command>svn switch</command> et
+      <command>svn export</command> qui gèrent effectivement les
+      sous-répertoires <firstterm>disjoints</firstterm> (ou déconnectés)
+      où sont extraites les références externes, la commande
+      <command>svn status</command> reconnaît également les définitions
+      de références externes. Elle affiche un code de statut
+      <literal>X</literal> pour les sous-répertoires externes disjoints
+      et parcourt ces sous-répertoires pour afficher le statut des
+      éléments externes eux-mêmes. Vous pouvez passer l'option
+      <option>--ignore-externals</option> à n'importe laquelle de ces
+      commandes pour désactiver le traitement des définitions de
+      références externes.</para>

    </sect1>

@@ -3640,9 +3651,20 @@

      <!-- ===============================================================  
-->
      <sect2 id="svn.advanced.changelists.creating">
-      <title>Creating and Modifying Changelists</title>
-
-      <para>You can create, modify, and delete changelists using the
+      <title>Créer et modifier des listes de modifications</title>
+
+      <para>Vous pouvez créer, modifier et supprimer des listes de
+        modifications en utilisant la commande <command>svn
+        changelist</command>. Plus précisément, vous pouvez utiliser
+        cette commande pour activer ou désactiver l'association d'une
+        liste de modifications avec un fichier donné de la copie de
+        travail. La création d'une liste de modifications a lieu la
+        première fois que vous étiquetez un fichier avec ce nom de
+        liste ; elle n'est supprimée que quand vous effacez
+        l'étiquette du dernier fichier qui la portait. Examinons un cas
+        concret pour illustrer ces notions.
+
+        You can create, modify, and delete changelists using the
          <command>svn changelist</command> command.  More accurately,
          you use this command to set or unset the changelist
          association of a particular working copy file.  A changelist
@@ -3651,120 +3673,129 @@
          the last file that had it.  Let's examine a usage scenario
          that demonstrates these concepts.</para>

-      <para>Harry is fixing some bugs in the calculator application's
-        mathematics logic.  His work leads him to change a couple of
-        files:</para>
+      <para>Harry est en train de corriger des bogues dans le module de
+        logique mathématique de l'application 'calculatrice'. Son
+        travail l'amène à modifier deux fichiers :</para>

        <screen>
  $ svn status
-M      integer.c
-M      mathops.c
+M      entier.c
+M      ops-math.c
  $
  </screen>

-      <para>While testing his bug fix, Harry notices that his changes
-        bring to light a tangentially related bug in the user
-        interface logic found in <filename>button.c</filename>.  Harry
-        decides that he'll go ahead and fix that bug, too, as a
-        separate commit from his math fixes.  Now, in a small working
-        copy with only a handful of files and few logical changes,
-        Harry can probably keep his two logical change groupings
-        mentally organized without any problem.  But today he's going
-        to use Subversion's changelists feature as a special favor to
-        the authors of this book.</para>
-
-      <para>Harry first creates a changelist and associates with it
-        the two files he's already changed.  He does this by using the
-        <command>svn changelist</command> command to assign the same
-        arbitrary changelist name to those files:</para>
+      <para>En testant son correctif, Harry s'aperçoit que ses
+        modifications lui indiquent qu'un bogue collatéral existe au
+        sein de la logique de l'interface utilisateur, située dans le
+        fichier <filename>bouton.c</filename>. Harry décide alors qu'il
+        va aussi corriger ce bogue, dans une propagation séparée de ses
+        propres correctifs mathématiques. Dans une copie de travail de
+        petite taille, ne contenant qu'une poignée de fichiers, et pour
+        juste quelques modifications logiques, Harry pourrait
+        probablement gérer mentalement ces deux ensembles logiques de
+        modifications sans le moindre problème. Mais aujourd'hui il a
+        décidé qu'il allait utiliser les listes de modifications de
+        Subversion, pour faire une faveur aux auteurs de ce livre.</para>
+
+      <para>Harry commence par créer une première liste de
+        modifications et y associe les deux premiers fichiers qu'il a
+        déjà modifié. Pour ce faire, il utilise la commande
+        <command>svn changelist</command> afin d'associer le même nom
+        arbitraire de liste de modifications aux deux
+        fichiers :</para>

        <screen>
-$ svn changelist math-fixes integer.c mathops.c
-Path 'integer.c' is now a member of changelist 'math-fixes'.
-Path 'mathops.c' is now a member of changelist 'math-fixes'.
+$ svn changelist correctifs-maths entier.c ops-math.c
+Le chemin 'entier.c' fait maintenant partie de la liste de  
changement 'correctifs-maths'.
+Le chemin 'ops-math.c' fait maintenant partie de la liste de  
changement 'correctifs-maths'.
  $ svn status

---- Changelist 'math-fixes':
-M      integer.c
-M      mathops.c
+--- Liste de changements 'correctifs-maths' :
+M      entier.c
+M      ops-math.c
  $
  </screen>

-      <para>As you can see, the output of <command>svn
-        status</command> reflects this new grouping.</para>
-
-      <para>Harry now sets off to fix the secondary UI problem.  Since
-        he knows which file he'll be changing, he assigns that path to
-        a changelist, too.  Unfortunately, Harry carelessly assigns this
-        third file to the same changelist as the previous two files:</para>
+      <para>Comme vous pouvez le constater, le résultat de <command>svn
+        status</command> reflète bien ce nouvel ensemble.</para>
+
+      <para>Harry se lance alors dans la correction du problème
+        d'interface graphique collatéral. Puisqu'il sait quel fichier il
+        va modifier, il associe également ce chemin à une liste de
+        modifications. Mais malencontreusement Harry associe ce
+        troisième fichier à la même liste de modifications que les deux
+        premiers :</para>

        <screen>
-$ svn changelist math-fixes button.c
-Path 'button.c' is now a member of changelist 'math-fixes'.
+$ svn changelist correctifs-maths bouton.c
+Le chemin 'bouton.c' fait maintenant partie de la liste de  
changement 'correctifs-maths'.
  $ svn status

---- Changelist 'math-fixes':
-       button.c
-M      integer.c
-M      mathops.c
+--- Liste de changements 'correctifs-maths' :
+       bouton.c
+M      entier.c
+M      ops-math.c
  $
  </screen>

-      <para>Fortunately, Harry catches his mistake.  At this point, he
-        has two options.  He can remove the changelist association
-        from <filename>button.c</filename>, and then assign a
-        different changelist name:</para>
+      <para>Par chance, Harry prend conscience de son erreur. Deux
+        options se présentent alors à lui. Il peut supprimer
+        l'association de <filename>bouton.c</filename>avec la liste de
+        modifications, puis lui associer un nouveau nom de liste de
+        modifications :</para>

        <screen>
-$ svn changelist --remove button.c
-Path 'button.c' is no longer a member of a changelist.
-$ svn changelist ui-fix button.c
-Path 'button.c' is now a member of changelist 'ui-fix'.
+$ svn changelist --remove bouton.c
+Le chemin 'bouton.c' n'est plus associé à une liste de changements.
+$ svn changelist correctifs-graphiques bouton.c
+Le chemin 'bouton.c' fait maintenant partie de la liste de  
changement 'correctifs-graphiques'.
  $
  </screen>

-      <para>Or, he can skip the removal and just assign a new
-        changelist name.  In this case, Subversion will first warn
-        Harry that <filename>button.c</filename> is being removed from
-        the first changelist:</para>
+      <para>Ou alors il peut sauter l'étape de suppression et juste
+        associer un nouveau nom de liste de modifications à
+        <filename>bouton.c</filename>. Dans ce cas, Subversion signale à
+        Harry que <filename>bouton.c</filename> va être supprimé de la
+        première liste de modifications :</para>

        <screen>
-$ svn changelist ui-fix button.c
-svn: warning: Removing 'button.c' from changelist 'math-fixes'.
-Path 'button.c' is now a member of changelist 'ui-fix'.
+$ svn changelist correctifs-graphiques bouton.c
+svn:  avertissement : Retrait de 'bouton.c' de la liste de changements  
(changelist) 'correctifs-maths'.
+Le chemin 'bouton.c' fait maintenant partie de la liste de  
changement 'correctifs-graphiques'.
  $ svn status

---- Changelist 'ui-fix':
-       button.c
-
---- Changelist 'math-fixes':
-M      integer.c
-M      mathops.c
+--- Liste de changements 'correctifs-graphiques' :
+       bouton.c
+
+--- Liste de changements 'correctifs-maths' :
+M      entier.c
+M      ops-maths.c
  $
  </screen>

-      <para>Harry now has two distinct changelists present in his
-        working copy, and <command>svn status</command> will group its
-        output according to these changelist determinations.  Notice
-        that even though Harry hasn't yet modified
-        <filename>button.c</filename>, it still shows up in the output
-        of <command>svn status</command> as interesting because it has
-        a changelist assignment.  Changelists can be added to and
-        removed from files at any time, regardless of whether they
-        contain local modifications.</para>
-
-      <para>Harry now fixes the user interface problem in
-        <filename>button.c</filename>.</para>
+      <para>Harry dispose donc à présent de deux listes de modifications
+        distinctes dans sa copie de travail et <command>svn
+        status</command> présentera ses résultats en les regroupant par
+        liste de modifications. Notez que bien qu'Harry n'ait pas encore
+        modifié <filename>bouton.c</filename>, celui-ci est quand même
+        mentionné par <command>svn status</command> car une liste de
+        modifications lui est associée. Les listes de modifications
+        peuvent être associées, ou enlevées, aux fichiers à tout moment,
+        indépendamment du fait que ces fichiers contiennent des
+        modifications locales ou pas.</para>
+
+      <para>Harry règle maintenant le problème de l'interface graphique
+        dans <filename>bouton.c</filename>.</para>

        <screen>
  $ svn status

---- Changelist 'ui-fix':
-M      button.c
-
---- Changelist 'math-fixes':
-M      integer.c
-M      mathops.c
+--- Liste de changements 'correctifs-graphiques':
+M      bouton.c
+
+--- Liste de changements 'correctifs-maths':
+M      entier.c
+M      ops-math.c
  $
  </screen>

@@ -3772,152 +3803,165 @@

      <!-- ===============================================================  
-->
      <sect2 id="svn.advanced.changelists.asfilters">
-      <title>Changelists As Operation Filters</title>
-
-      <para>The visual grouping that Harry sees in the output of
-        <command>svn status</command> as shown in our previous section
-        is nice, but not entirely useful.  The
-        <command>status</command> command is but one of many
-        operations that he might wish to perform on his working copy.
-        Fortunately, many of Subversion's other operations understand
-        how to operate on changelists via the use of the
-        <option>--changelist</option> option.</para>
-
-      <para>When provided with a <option>--changelist</option> option,
-        Subversion commands will limit the scope of their operation to
-        only those files to which a particular changelist name is
-        assigned.  If Harry now wants to see the actual changes he's
-        made to the files in his <literal>math-fixes</literal>
-        changelist, he <emphasis>could</emphasis> explicitly list only
-        the files that make up that changelist on the <command>svn
-        diff</command> command line.</para>
+      <title>Listes de modifications : des filtres pour vos  
opérations</title>
+
+      <para>Le regroupement visuel qu'Harry constate en sortie de
+        <command>svn status</command>, comme indiqué précédemment, est
+        intéressant d'un point de vue esthétique, mais pas vraiment
+        utile. La commande <command>status</command> n'est qu'une des
+        commandes qu'il est susceptible de lancer sur sa copie de
+        travail. Heureusement, bon nombre des autres opérations de
+        Subversion sont capables d'agir sur les listes de modifications
+        grâce à l'option <option>--changelist</option>.</para>
+
+      <para>Quand l'option <option>--changelist</option> est présente,
+        les commandes Subversion limiteront leur champ d'action aux
+        fichiers auxquels est associé le nom de liste de modifications
+        donné. Si Harry veut voir quels changements il a effectué sur
+        les fichiers de sa liste <literal>correctifs-maths</literal>, il
+        <emphasis>pourrait</emphasis> lister explicitement les fichiers
+        faisant partie de cette liste de modifications avec la
+        commande <command>svn diff</command>.</para>

        <screen>
-$ svn diff integer.c mathops.c
-Index: integer.c
+$ svn diff entier.c ops-math.c
+Index: entier.c
  ===================================================================
---- integer.c	(revision 1157)
-+++ integer.c	(working copy)
+--- entier.c	(révision 1157)
++++ entier.c	(copie de travail)
  …
-Index: mathops.c
+Index: ops-math.c
  ===================================================================
---- mathops.c	(revision 1157)
-+++ mathops.c	(working copy)
+--- ops-math.c	(révision 1157)
++++ ops-math.c	(copie de travail)
  …
  $
  </screen>

-      <para>That works okay for a few files, but what if Harry's
-        change touched 20 or 30 files?  That would be an annoyingly
-        long list of explicitly named files.  Now that he's using
-        changelists, though, Harry can avoid explicitly listing the
-        set of files in his changelist from now on, and instead
-        provide just the changelist name:</para>
+      <para>Cette méthode fonctionne correctement pour un petit nombre
+        de fichiers, mais qu'en est-il si Harry a modifié une vingtaine
+        ou une trentaine de fichiers ? Fournir la liste de tous ces
+        fichiers serait assez pénible. Mais puisqu'il utilise les listes
+        de modifications, Harry peut désormais éviter de lister
+        explicitement tous les fichiers et ne donner à la place que le
+        nom de la liste de modifications :</para>

        <screen>
-$ svn diff --changelist math-fixes
-Index: integer.c
+$ svn diff --changelist correctifs-maths
+
+Index: entier.c
  ===================================================================
---- integer.c	(revision 1157)
-+++ integer.c	(working copy)
+--- entier.c	(révision 1157)
++++ entier.c	(copie de travail)
  …
-Index: mathops.c
+Index: ops-math.c
  ===================================================================
---- mathops.c	(revision 1157)
-+++ mathops.c	(working copy)
+--- ops-math.c	(révision 1157)
++++ ops-math.c	(copie de travail)
  …
  $
  </screen>

-      <para>And when it's time to commit, Harry can again use the
-        <option>--changelist</option> option to limit the scope of the
-        commit to files in a certain changelist.  He might commit his
-        user interface fix by doing the following:</para>
+      <para>Et au moment de lancer la propagation, Harry peut à nouveau
+        se servir de l'option <option>--changelist</option> pour limiter
+        le rayon d'action de la propagation aux fichiers de sa liste de
+        modifications. Par exemple, il pourra propager ses changements
+        concernant l'interface graphique en lançant :</para>

        <screen>
-$ svn ci -m "Fix a UI bug found while working on math logic." \
-      --changelist ui-fix
-Sending        button.c
-Transmitting file data .
-Committed revision 1158.
+$ svn ci -m "Corrigé un bug de l'interface graphique découvert en  
travaillant sur la logique mathématique." \
+      --changelist correctifs-graphiques
+Envoi        bouton.c
+Transmission des données .
+Révision 1158 propagée.
  $
  </screen>

-      <para>In fact, the <command>svn commit</command> command
-        provides a second changelists-related option:
-        <option>--keep-changelists</option>.  Normally, changelist
-        assignments are removed from files after they are committed.
-        But if <option>--keep-changelists</option> is provided,
-        Subversion will leave the changelist assignment on the
-        committed (and now unmodified) files.  In any case, committing
-        files assigned to one changelist leaves other changelists
-        undisturbed.</para>
+      <para>En fait, la commande <command>svn commit</command> accepte
+        une deuxième option liée aux listes de modifications :
+        <option>--keep-changelists</option>. Normalement, l'association
+        des listes de modifications avec les fichiers est supprimée dès
+        que ceux-ci ont été propagés. Mais si l'option
+        <option>--keep-changelists</option> est ajoutée sur la ligne de
+        commande, les fichiers propagés (qui ne sont donc plus dans
+        l'état modifié) resteront associés aux listes de modifications
+        en question. De toute façon, propager des fichiers faisant
+        partie d'une liste de modification laisse les autres listes de
+        modifications intactes.</para>

        <screen>
  $ svn status

---- Changelist 'math-fixes':
-M      integer.c
-M      mathops.c
+--- Liste de changements 'correctifs-maths':
+M      entier.c
+M      ops-math.c
  $
  </screen>

        <note>
-        <para>The <option>--changelist</option> option acts only as a
-          filter for Subversion command targets, and will not add
-          targets to an operation.  For example, on a commit operation
-          specified as <userinput>svn commit /path/to/dir</userinput>, the
-          target is the directory <filename>/path/to/dir</filename>
-          and its children (to infinite depth).  If you then add a
-          changelist specifier to that command, only those files in
-          and under <filename>/path/to/dir</filename> that are
-          assigned that changelist name will be considered as targets
-          of the commit—the commit will not include files
-          located elsewhere (such is in
-          <filename>/path/to/another-dir</filename>), regardless of
-          their changelist assignment, even if they are part of the
-          same working copy as the operation's target(s).</para>
+        <para>L'option <option>--changelist</option> agit comme un
+          filtre sur les cibles des commandes Subversion et n'ajoutera
+          jamais de cible à une opération. Par exemple, lors d'une
+          opération de propagation lancée via <userinput>svn commit
+          /chemin/vers/rep</userinput>, la cible est le répertoire
+          <filename>/chemin/vers/rep</filename> et ses fils (avec une
+          profondeur infinie). Si ensuite vous ajoutez une option
+          spécifiant une liste de modifications à cette commande, seuls
+          les fichiers se trouvant sous le chemin
+          <filename>/chemin/vers/rep</filename> et associés à cette
+          liste de modifications seront pris en compte en tant que
+          cibles de la propagation ; ne seront pas inclus les
+          fichiers situés ailleurs (tels ceux sous
+          <filename>/chemin/vers/autre-rep</filename>), quelle que soit
+          la liste de modifications à laquelle ils appartiennent, même
+          s'il font partie de la même copie de travail que la ou les
+          cibles de l'opération.</para>
        </note>

-      <para>Even the <command>svn changelist</command> command accepts
-        the <option>--changelist</option> option.  This allows you to
-        quickly and easily rename or remove a changelist:</para>
+      <para>Même la commande <command>svn changelist</command> accepte
***The diff for this file has been truncated for email.***


More information about the svnbook-dev mailing list