[svnbook] r5124 committed - branches/1.8/fr/book/ch04-branching-and-merging .xml

chris-nanteuil at users.sourceforge.net chris-nanteuil at users.sourceforge.net
Fri Mar 11 04:13:40 CST 2016


Revision: 5124
          http://sourceforge.net/p/svnbook/source/5124
Author:   chris-nanteuil
Date:     2016-03-11 10:13:39 +0000 (Fri, 11 Mar 2016)
Log Message:
-----------
[fr] Chapter 04 French translation

Environ la moiti?\195?\169 effectu?\195?\169.
N?\195?\169cessite une relecture et v?\195?\169rification de la prise en compte des derni?\195?\168res modifications de la version originale.

Modified Paths:
--------------
    branches/1.8/fr/book/ch04-branching-and-merging.xml

Property Changed:
----------------
    branches/1.8/fr/book/ch04-branching-and-merging.xml

Modified: branches/1.8/fr/book/ch04-branching-and-merging.xml
===================================================================
--- branches/1.8/fr/book/ch04-branching-and-merging.xml	2016-03-11 09:28:10 UTC (rev 5123)
+++ branches/1.8/fr/book/ch04-branching-and-merging.xml	2016-03-11 10:13:39 UTC (rev 5124)
@@ -1,14 +1,23 @@
 <!-- -*- sgml -*- -->
 
 <chapter id="svn.branchmerge">
+<!--
   <title>Branching and Merging</title>
+-->
+  <title>Gestion des branches</title>
 
   <blockquote>
+<!--
     <attribution>Confucius</attribution>
     <para><quote>君子务本
       (It is upon the Trunk that a gentleman works.)</quote></para>
+-->
+    <attribution>Confucius</attribution>
+    <para><quote>君子务本
+      (C'est sur le Tronc qu'un gentleman travaille).</quote></para>
   </blockquote>
 
+<!--
   <para>Branching and merging are fundamental aspects of version
     control, simple enough to explain conceptually but offering just
     enough complexity and nuance to merit their own chapter in this
@@ -17,30 +26,67 @@
     to them.  If you've not familiarized yourself with Subversion's
     basic concepts (found in <xref linkend="svn.basic"/>), we
     recommend that you do so before reading this chapter.</para>
+-->
+  <para>La création et la fusion de branches sont des concepts
+    fondamentaux des systèmes de gestion de versions, simples à
+    expliquer d'un point de vue conceptuel mais offrant suffisamment de
+    complexité et de nuances pour mériter un chapitre dans ce livre.
+    Nous allons introduire le concept général de ces opérations ainsi
+    que l'approche, quelque peu unique, adoptée par Subversion. Ce
+    chapitre suppose que vous êtes déjà familier avec les notions de
+    bases de Subversion (expliquées dans le
+    <xref linkend="svn.basic"/>)</para>
 
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.whatis">
+<!--
     <title>What's a Branch?</title>
+-->
+    <title>Qu'est-ce qu'une branche ?</title>
 
+<!--
     <para>Suppose it's your job to maintain a document for a division
       in your company—a handbook of some sort.  One day a different
       division asks you for the same handbook, but with a few parts
       <quote>tweaked</quote> for them, since they do things slightly
       differently.</para>
+-->
+    <para>Supposons que votre travail soit de maintenir un document
+      pour une division de votre entreprise, un manuel par exemple.
+      Un beau jour, une autre division vous demande le même manuel,
+      mais avec quelques parties <quote>modifiées</quote> spécialement
+      pour elle, puisqu'elle fait les choses légèrement
+      différemment.</para>
 
+<!--
     <para>What do you do in this situation?  You do the obvious: make
       a second copy of your document and begin maintaining the two
       copies separately.  As each department asks you to make small
       changes, you incorporate them into one copy or the other.</para>
+-->
+    <para>Que faites-vous dans cette situation ? Tout naturellement,
+      vous créez une seconde copie du document et commencez à maintenir
+      les deux copies séparément. Puis, quand chaque division vous
+      demande de faire des petites modifications, vous les incorporez
+      dans une copie ou dans l'autre.</para>
 
+<!--
     <para>You often want to make the same change to both copies.  For
       example, if you discover a typo in the first copy, it's very
       likely that the same typo exists in the second copy.  The two
       documents are almost the same, after all; they differ only in
       small, specific ways.</para>
+-->
+    <para>Vous voulez souvent faire la même modification dans les deux
+      copies. Par exemple, si vous découvrez une coquille dans la
+      première copie, il est très probable que la même coquille existe
+      dans la deuxième copie. Les deux documents sont presque
+      identiques, après tout ; ils ne diffèrent qu'en quelques
+      points mineurs et spécifiques.</para>
 
+<!--
     <para>
       <indexterm>
         <primary>branches</primary>
@@ -50,12 +96,28 @@
       time.  A branch always begins life as a copy of something, and
       moves on from there, generating its own history (see
       <xref linkend="svn.branchmerge.whatis.dia-1"/>).</para>
+-->
+    <para>
+      <indexterm>
+        <primary>branches</primary>
+      </indexterm>Voilà le concept de <firstterm>branche</firstterm>,
+      c'est-à-dire une ligne de développement qui existe
+      indépendamment d'une autre ligne, mais partage cependant une
+      histoire commune avec elle, si vous remontez suffisamment loin en
+      arrière dans le temps. Une branche commence toujours sa vie en
+      tant que copie de quelque chose, puis diffère à partir de là,
+      selon une histoire qui lui est propre (voir la
+      <xref linkend="svn.branchmerge.whatis.dia-1"/>).</para>
 
     <figure id="svn.branchmerge.whatis.dia-1">
+<!--
       <title>Branches of development</title>
+-->
+      <title>Branches de développement</title>
       <graphic fileref="images/ch04dia1.png"/>
     </figure>
 
+<!--
     <para>Subversion has commands to help you maintain parallel
       branches of your files and directories.  It allows you to create
       branches by copying your data, and remembers that the copies are
@@ -64,6 +126,16 @@
       your working copy reflect different branches so that you can
       <quote>mix and match</quote> different lines of development in
       your daily work.</para>
+-->
+    <para>Subversion possède des commandes pour vous aider à maintenir
+      des branches parallèles de vos fichiers et répertoires. Il vous
+      permet de créer des branches en faisant des copies de vos
+      données et se souvient que les copies sont liées les unes aux
+      autres. Il vous aide aussi à dupliquer les modifications d'une
+      branche vers une autre. Enfin, il permet que des portions de
+      votre copie de travail correspondent à différentes branches,
+      afin que vous puissiez <quote>mélanger</quote> différentes
+      lignes de développement dans votre travail quotidien.</para>
 
   </sect1>
 
@@ -71,13 +143,24 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.using">
+<!--
     <title>Using Branches</title>
+-->
+    <title>Utilisation des branches</title>
 
+<!--
     <para>At this point, you should understand how each commit creates
       a new state of the filesystem tree (called a <quote>revision</quote>)
       in the repository.  If you don't, go back and read about revisions in
       <xref linkend="svn.basic.in-action.revs"/>.</para>
+-->
+    <para>Rendu à ce chapitre, vous devriez avoir compris que chaque
+      propagation crée une arborescence de fichiers entièrement
+      nouvelle (appelée <quote>révision</quote>) dans le dépôt. Si ce
+      n'est pas le cas, retournez vous informer sur les révisions dans
+      <xref linkend="svn.basic.in-action.revs"/>.</para>
 
+<!--
     <para>Let's revisit the example from
       <xref linkend="svn.basic"/>.  Remember that you and your
       collaborator, Sally, are sharing a repository that contains two
@@ -87,12 +170,27 @@
       directory now contains subdirectories named
       <filename>trunk</filename> and <filename>branches</filename>.
       The reason for this will soon become clear.</para>
+-->
+    <para>Pour ce chapitre, nous reprendrons le même exemple qu'au
+      <xref linkend="svn.basic"/>. Souvenez-vous que votre
+      collaboratrice Sally et vous partagez un dépôt qui contient
+      deux projets, <filename>paint</filename> et
+      <filename>calc</filename>. Notez cependant que dans la
+       <xref linkend="svn.branchmerge.using.dia-1"/>, le dossier de
+       chaque projet contient désormais des sous-dossiers nommés
+       <filename>trunk</filename> et <filename>branches</filename>.
+       Les raisons de cette arborescence apparaîtront bientôt
+       clairement.</para>
 
     <figure id="svn.branchmerge.using.dia-1">
+<!--
       <title>Starting repository layout</title>
+-->
+      <title>Structure initiale du dépôt</title>
       <graphic fileref="images/ch04dia2.png"/>
     </figure>
 
+<!--
     <para>As before, assume that Sally and you both have working
       copies of the <quote>calc</quote> project.  Specifically, you
       each have a working copy of <filename>/calc/trunk</filename>.
@@ -101,7 +199,18 @@
       decided that <filename>/calc/trunk</filename> is where the
       <quote>main line</quote> of development is going to take
       place.</para>
+-->
+    <para>Comme avant, supposons que Sally et vous avez tous deux une
+      copie de travail du projet <quote>calc</quote>. Plus
+      spécifiquement, vous avez chacun une copie de travail de
+      <filename>/calc/trunk</filename>. Tous les fichiers du projet
+      sont dans ce sous-dossier plutôt que dans
+      <filename>/calc</filename> lui-même, parce que votre équipe a
+      décidé que la <quote>ligne principale</quote> de développement
+      du projet allait se situer
+      dans <filename>/calc/trunk</filename>.</para>
 
+<!--
     <para>Let's say that you've been given the task of implementing a
       large software feature.  It will take a long time to write, and
       will affect all the files in the project.  The immediate problem
@@ -111,7 +220,19 @@
       <filename>/calc/trunk</filename>) is always usable.  If you
       start committing your changes bit by bit, you'll surely break
       things for Sally (and other team members as well).</para>
+-->
+    <para>Disons que l'on vous a attribué la tâche d'implémenter une
+      fonctionnalité du logiciel qui prendra longtemps à écrire et
+      touchera à tous les fichiers du projet. Le problème immédiat est
+      que vous ne voulez pas déranger Sally, qui est en train de
+      corriger des bogues mineurs ici et là. Elle a besoin que la
+      dernière version du projet
+      (dans <filename>/calc/trunk</filename>) demeure en permanence
+      utilisable. Si vous commencez à propager des changements petit
+      à petit, vous allez sûrement rendre les choses difficiles pour
+      Sally (ainsi que pour d'autres membres de l'équipe).</para>
 
+<!--
     <para>One strategy is to crawl into a hole: you can stop sharing
       information for a week or two, gutting and reorganizing all the
       files in your private working copy but not committing or
@@ -134,18 +255,60 @@
       repository that are difficult to incorporate into your working
       copy when you eventually run <command>svn update</command> after
       weeks of isolation.</para>
+-->
+    <para>Une stratégie possible est de vous isoler : vous pouvez
+      arrêter de partager des informations avec Sally pendant une
+      semaine ou deux. C'est-à-dire commencer à modifier et à
+      réorganiser les fichiers dans votre copie de travail, mais
+      sans effectuer de propagation ni de mise à jour avant que vous
+      n'ayez complètement terminé la tâche. Cette stratégie comporte
+      certains risques. Premièrement, ce n'est pas sans danger. La
+      plupart des gens aiment propager leurs modifications fréquemment,
+      au cas où leur copie de travail aurait un accident. Deuxièmement,
+      ce n'est pas très flexible. Si vous travaillez sur différents
+      ordinateurs (vous avez peut-être une copie de travail de
+      <filename>/calc/trunk</filename> sur deux machines différentes),
+      vous aurez besoin de transférer manuellement vos changements entre
+      les deux, ou bien de travailler sur une seule machine. De la même
+      façon, il est difficile de partager vos changements en cours avec
+      quelqu'un d'autre. Une des <quote>bonnes pratiques</quote> du
+      monde du développement logiciel est de permettre à vos pairs de
+      passer votre travail en revue au fur et à mesure. Si personne n'a
+      accès à vos propagations intermédiaires, vous vous coupez
+      d'éventuelles critiques et risquez de partir dans une mauvaise
+      direction pendant des semaines avant que quelqu'un ne s'en
+      aperçoive. Enfin, quand vous en aurez fini avec tous vos
+      changements, vous pourriez avoir du mal à fusionner votre travail
+      avec le code du reste de l'équipe. Sally (et les autres) peuvent
+      avoir apporté de nombreux autres changements au dépôt, changements
+      qui seront difficiles à incorporer dans votre copie de travail,
+      notamment si vous lancez <command>svn update</command> après des
+      semaines d'isolation.</para>
 
+<!--
     <para>The better solution is to create your own branch, or line of
       development, in the repository.  This allows you to save your
       not-yet-completed work frequently without interfering with
       others' changes and while still selectively sharing information
       with your collaborators.  You'll see exactly how this works as
       we continue.</para>
+-->
+    <para>Une solution bien meilleure est de créer votre propre
+      branche, ou ligne de développement, dans le dépôt. Ceci vous
+      permettra de sauvegarder fréquemment votre travail un peu
+      boiteux sans interférer avec vos collaborateurs ; vous pourrez
+      toutefois partager une sélection d'informations avec eux. Vous
+      découvrirez comment tout cela fonctionne exactement au fur et à
+      mesure de ce chapitre.</para>
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.create">
+<!--
       <title>Creating a Branch</title>
+-->
+      <title>Création d'une branche</title>
 
+<!--
       <para>Creating a branch is very simple—you make a copy of
         your project tree in the repository using the <command>svn
         copy</command> command.  Since your project's source code is
@@ -157,7 +320,21 @@
         distinguish it from other branches.  Once again, the name you
         choose is unimportant to Subversion—you can use whatever
         name works best for you and your team.</para>
+-->
+      <para>Créer une branche est très simple : il s'agit juste de
+        faire une copie du projet dans le dépôt avec la commande
+        <command>svn copy</command>. Subversion est capable de copier
+        non seulement de simples fichiers, mais aussi des dossiers
+        entiers. Dans le cas présent, vous voulez faire une copie du
+        dossier <filename>/calc/trunk</filename>. Où doit résider la
+        nouvelle copie ? Là où vous le désirez, cette décision
+        faisant partie de la gestion du projet. Enfin, votre branche se
+        doit de posséder un nom, pour la distinguer des autres branches.
+        Là encore, le nom que vous choisissez importe peu à Subversion
+        (vous pouvez utiliser le nom qui vous convient personnellement
+        ou à votre équipe).</para>
 
+<!--
       <para>Let's assume that your team (like most) has a policy of
         creating branches in the <filename>branches</filename>
         directory that is a sibling of the project's trunk
@@ -168,7 +345,19 @@
         directory, <filename>/calc/branches/my-calc-branch</filename>,
         which begins its life as a copy
         of <filename>/calc/trunk</filename>.</para>
-
+-->
+      <para>Supposons que votre équipe (comme la plupart des équipes)
+        ait pour convention de créer les branches dans le répertoire
+        <filename>branches</filename> qui se trouve au même niveau que
+        la branche principale de votre projet (le répertoire
+        <filename>/calc/branches</filename> dans notre scénario). Comme
+        vous manquez d'inspiration, vous vous décidez pour
+        <literal>ma-branche-calc</literal> come nom pour votre branche.
+        Cela veut dire que vous allez créer un nouveau dossier,
+        <filename>/calc/branches/ma-branche-calc</filename>,
+        qui commence ainsi sa vie en tant que copie de
+        <filename>/calc/trunk</filename>.</para>
+<!--
       <para>
         <indexterm>
           <primary>copying</primary>
@@ -189,17 +378,45 @@
         immediately results in a newly committed repository revision
         and for which no working copy is required at all.  Just copy
         one URL to another:</para>
+-->
+      <para>
+        <indexterm>
+          <primary>copier</primary>
+          <secondary>copies distantes</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>svn</primary>
+          <secondary>sous-commandes</secondary>
+          <tertiary>copy</tertiary>
+        </indexterm>
+        <indexterm>
+          <primary>branches</primary>
+          <secondary>création</secondary>
+        </indexterm>Vous avez peut-être déjà utilisé
+        <command>svn copy</command> pour copier un fichier vers un
+        autre à l'intérieur d'une copie de travail. Mais il peut aussi
+        être utilisé pour effectuer une <firstterm>copie
+        distante</firstterm> (une copie qui propage immédiatement une
+        nouvelle révision dans le dépôt et pour laquelle aucune copie
+        de travail n'est nécessaire). Il suffit juste de copier une
+        URL vers une autre :</para>
 
       <informalexample>
-        <screen>
+        <screen><!--
 $ svn copy ^/calc/trunk ^/calc/branches/my-calc-branch \
            -m "Creating a private branch of /calc/trunk."
 
 Committed revision 341.
+-->
+$ svn copy ^/calc/trunk ^/calc/branches/ma-branche-calc \
+      -m "Création d'une branche privée à partir de /calc/trunk."
+
+Révision 341 propagée.
 $
 </screen>
       </informalexample>
 
+<!--
       <para>This command causes a near-instantaneous commit in the
         repository, creating a new directory in revision 341.  The new
         directory is a copy of <filename>/calc/trunk</filename>.  This
@@ -222,15 +439,48 @@
         during merging.  If you do choose to create a branch by copying a
         working copy path, you should be sure the source directory has no
         local modifications and is not at mixed-revisions.</para>
-            
+-->
+      <para>Cette commande entraîne une opération quasi-instantanée
+        dans le dépôt, créant un nouveau dossier à la révision 341.
+        Ce nouveau dossier est une copie de
+        <filename>/calc/trunk</filename>, comme l'illustre la
+        <xref linkend="svn.branchmerge.using.create.dia-1"/>
+        <footnote>
+        <para>Subversion n'accepte pas les copies entre des dépôts
+          distincts. Quand vous utilisez des URLs avec
+          <command>svn copy</command> et <command>svn move</command>,
+          vous ne pouvez copier que des éléments faisant partie du
+          même dépôt.</para>
+        </footnote>.
+        Bien qu'il soit aussi possible de créer une branche en
+        utilisant <command>svn copy</command> pour dupliquer un dossier
+        à l'intérieur de la copie de travail, cette technique n'est
+        pas recommandée. Elle peut s'avérer assez lente, en fait !
+        Copier un dossier côté client est une opération linéaire en
+        terme de durée, puisque chaque fichier et chaque dossier doit
+        être dupliqué sur le disque local. Copier un dossier sur le
+        serveur, par contre, est une opération dont la durée est
+        constante et c'est ainsi que la plupart des gens crée
+        des branches. En plus, cette façon de faire engendre le risque
+        de copier des copies de travail à révisions mélangées. Ce n'est
+        pas intrinsèquement dangereux, mais peut causer des
+        complications inutiles plus tard lors des fusions. </para>
+
       <figure id="svn.branchmerge.using.create.dia-1">
+<!--
         <title>Repository with new copy</title>
+-->
+        <title>Dépôt avec nouvelle copie</title>
         <graphic fileref="images/ch04dia3.png"/>
       </figure>
 
       <sidebar>
+<!--
         <title>Cheap Copies</title>
+-->
+        <title>Des copies peu coûteuses</title>
 
+<!--
         <para>Subversion's repository has a special design.  When you
           copy a directory, you don't need to worry about the
           repository growing huge—Subversion doesn't actually
@@ -242,7 +492,22 @@
           Subversion continues to employ this hard link concept where
           it can.  It duplicates data only when it is necessary to
           disambiguate different versions of objects.</para>
+-->
+        <para>Le dépôt Subversion a un design particulier. Quand vous
+          copiez un dossier, il n'y a pas à s'en faire pour la taille
+          du dépôt : en fait Subversion ne duplique aucune donnée.
+          Au lieu de ça, il crée une nouvelle entrée de dossier qui
+          pointe vers une arborescence <emphasis>existante</emphasis>.
+          Si vous êtes un utilisateur expérimenté d'Unix, vous
+          reconnaîtrez là le concept de lien matériel
+          (<foreignphrase>hard link</foreignphrase> en anglais). Au fur
+          et à mesure des modifications faites aux fichiers et dossiers
+          sous le dossier copié, Subversion continue à employer ce
+          concept de lien matériel quand il le peut. Il duplique les
+          données seulement s'il est nécessaire de lever l'ambiguïté
+          entre différentes versions d'objets.</para>
 
+<!--
         <para>This is why you'll often hear Subversion users talk
           about <quote>cheap copies.</quote>  It doesn't matter how
           large the directory is—it takes a very tiny, constant
@@ -253,7 +518,22 @@
           more about this, visit Subversion's web site and read about
           the <quote>bubble up</quote> method in Subversion's design
           documents.)</para>
+-->
+        <para>C'est pourquoi vous entendrez souvent les utilisateurs
+          de Subversion parler de <quote>copies peu coûteuses</quote>
+          (<foreignphrase>cheap copies</foreignphrase> en anglais).
+          Peu importe la taille du dossier, la durée de la copie
+          est constante et très faible, tout comme l'espace disque
+          nécessaire. En fait, cette fonctionnalité est à la base du
+          fonctionnement des propagations dans Subversion : chaque
+          révision est une <quote>copie peu coûteuse</quote> de la
+          révision précédente, avec juste quelques éléments modifiés à
+          l'intérieur (pour en savoir plus à ce sujet, visitez le site
+          web de Subversion et lisez les paragraphes relatifs à la
+          méthode <quote>bubble up</quote> dans les documents de
+          conception de Subversion).</para>
 
+<!--
         <para>Of course, these internal mechanics of copying and
           sharing data are hidden from the user, who simply sees
           copies of trees.  The main point here is that copies are
@@ -262,19 +542,38 @@
           <replaceable>URL1</replaceable> <replaceable>URL2</replaceable></userinput>),
           it's a quick, constant-time operation.  Make branches as
           often as you want.</para>
+-->
+        <para>Bien sûr, cette mécanique interne de copie et de partage
+          des données est transparente pour l'utilisateur, qui n'y
+          voit que de simples copies d'arborescences. Le point
+          essentiel ici est que les copies sont peu coûteuses, aussi
+          bien en temps qu'en espace disque. Si vous créez une branche
+          entièrement à l'intérieur du dépôt (en lançant
+          <userinput>svn copy <replaceable>URL1</replaceable>
+          <replaceable>URL2</replaceable></userinput>), c'est une
+          opération rapide, à durée constante. Créez des branches
+          aussi souvent que vous le souhaitez.</para>
       </sidebar>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.work">
-      <title>Working with Your Branch</title> 
+<!--
+      <title>Working with Your Branch</title>
+-->
+      <title>Travail sur votre branche</title>
 
+<!--
       <para>Now that you've created a branch of the project, you can
         check out a new working copy to start using it:</para>
+-->
+      <para>Maintenant que vous avez créé votre branche du projet, vous
+        pouvez extraire une nouvelle copie de travail et commencer à
+        l'utiliser :</para>
 
       <informalexample>
-        <screen>
+        <screen><!--
 $ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
 A    my-calc-branch/doc
 A    my-calc-branch/src
@@ -286,11 +585,23 @@
 A    my-calc-branch/Makefile
 A    my-calc-branch/README
 Checked out revision 341.
-
+-->
+$ svn checkout http://svn.exemple.com/depot/calc/branches/ma-branche-calc
+A  ma-branche-calc/doc
+A  ma-branche-calc/src
+A  ma-branche-calc/doc/INSTALL
+A  ma-branche-calc/src/reel.c
+A  ma-branche-calc/src/main.c
+A  ma-branche-calc/src/bouton.c
+A  ma-branche-calc/src/entier.c
+A  ma-branche-calc/Makefile
+A  ma-branche-calc/LISEZMOI
+Révision 341 extraite.
 $
 </screen>
       </informalexample>
 
+<!--
       <para>There's nothing special about this working copy; it simply
         mirrors a different directory in the repository.  When you
         commit changes, however, Sally won't see them when she
@@ -299,73 +610,117 @@
         linkend="svn.branchmerge.switchwc"/> later in this chapter: the
         <command>svn switch</command> command is an alternative way of
         creating a working copy of a branch.)</para>
+-->
+      <para>Cette copie de travail n'a rien de spéciale ; elle
+        correspond juste à un dossier différent du dépôt. Cependant,
+        quand vous propagerez vos modifications, Sally ne les verra
+        pas quand elle effectuera une mise à jour, car sa copie de
+        travail correspond à <filename>calc/trunk</filename> (pensez
+        bien à lire <xref linkend="svn.branchmerge.switchwc"/> plus
+        loin dans ce chapitre : la commande
+        <command>svn switch</command> est une méthode alternative
+        pour créer une copie de travail d'une branche).</para>
 
+<!--
       <para>Let's pretend that a week goes by, and the following
         commits happen:</para>
+-->
+      <para>Imaginons qu'une semaine passe et que les propagations
+        suivantes ont lieu :</para>
 
       <itemizedlist>
         <listitem>
+<!--
           <para>You make a change to
             <filename>/calc/branches/my-calc-branch/src/button.c</filename>,
             which creates revision 342.</para>
+-->
+          <para>Vous modifiez
+          <filename>/calc/branches/ma-branche-calc/src/bouton.c</filename>,
+          ce qui crée la révision 342.</para>
         </listitem>
+
         <listitem>
+<!--
           <para>You make a change to
             <filename>/calc/branches/my-calc-branch/src/integer.c</filename>,
             which creates revision 343.</para>
+-->
+          <para>Vous modifiez
+          <filename>/calc/branches/ma-branche-calc/src/entier.c</filename>,
+          ce qui crée la révision 343.</para>
         </listitem>
+
         <listitem>
+<!--
           <para>Sally makes a change to
             <filename>/calc/trunk/src/integer.c</filename>, which creates
             revision 344.</para>
+-->
+          <para>Sally modifie
+            <filename>/calc/trunk/src/entier.c</filename>, ce qui crée
+            la révision 344.</para>
         </listitem>
       </itemizedlist>
 
+<!--
       <para>Now two independent lines of development (shown
         in <xref linkend="svn.branchmerge.using.work.dia-1"/>) are happening on
         <filename>integer.c</filename>.</para>
+-->
+      <para>À présent, deux lignes de développement indépendantes (voir
+      la <xref linkend="svn.branchmerge.using.work.dia-1"/>) existent
+      pour <filename>entier.c</filename>.</para>
 
       <figure id="svn.branchmerge.using.work.dia-1">
+<!--
         <title>The branching of one file's history</title>
+-->
+        <title>Historique des branches d'un fichier</title>
         <graphic width="4.81in" depth="2.18in" fileref="images/basic-branch.png" />
       </figure>
 
+<!--
       <para>Things get interesting when you look at the history of
         changes made to your copy of <filename>integer.c</filename>:</para>
+-->
+      <para>Les choses deviennent intéressantes quand on regarde
+        l'historique des modifications apportées à votre copie de
+        <filename>entier.c</filename> :</para>
 
       <informalexample>
-        <screen>
+        <screen><!--
 $ pwd
 /home/user/my-calc-branch
 
 $ svn log -v src/integer.c
-------------------------------------------------------------------------
-r343 | user | 2013-02-15 14:11:09 -0500 (Fri, 15 Feb 2013) | 1 line
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+r343 | user | 2013-02-15 14:11:09 -0500 (Fri, 15 fév. 2013) | 1 line
 Changed paths:
    M /calc/branches/my-calc-branch/src/integer.c
 
 * integer.c:  frozzled the wazjub.
-------------------------------------------------------------------------
-r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 Feb 2013) | 1 line
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 fév. 2013) | 1 line
 Changed paths:
    A /calc/branches/my-calc-branch (from /calc/trunk:340)
 
 Creating a private branch of /calc/trunk.
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines
 Changed paths:
    M /calc/trunk/src/integer.c
 
 * integer.c:  changed a docstring.
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 …
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines
 Changed paths:
    M /calc/trunk/src/integer.c
 
 * integer.c: Revise the fooplus API.
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line
 Changed paths:
    A /calc/trunk/Makefile
@@ -377,10 +732,57 @@
    A /calc/trunk/src/real.c
 
 Initial trunk code import for calc project.
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+-->
+$ pwd
+/home/utilisateur/ma-branche-calc
+
+$ svn log -v src/entier.c
 ------------------------------------------------------------------------
+r343 | utilisateur | 2002-11-07 15:27:56 -0600 (jeu. 07 nov. 2002) | 2 lignes
+Chemins modifiés :
+   M /calc/branches/ma-branche-calc/src/entier.c
+
+* entier.c:  machiné le bidule.
+
+------------------------------------------------------------------------
+r341 | utilisateur | 2002-11-03 15:27:56 -0600 (jeu. 07 nov. 2002) | 2 lignes
+Chemins modifiés :
+   A /calc/branches/ma-branche-calc (from /calc/trunk:340)
+
+Création d'une branche privée à partir de /calc/trunk.
+
+------------------------------------------------------------------------
+r303 | sally | 2002-10-29 21:14:35 -0600 (mar. 29 oct. 2002) | 2 lignes
+Chemins modifiés :
+   M /calc/trunk/src/entier.c
+
+* entier.c:  modifié une docstring.
+------------------------------------------------------------------------
+…
+------------------------------------------------------------------------
+r98 | sally | 2002-02-22 15:35:29 -0600 (ven. 22 fev. 2002) | 2 lignes
+Chemins modifiés :
+  A /calc/trunk/src/entier.c
+
+* entier.c:  modifié l'API trucplusse.
+------------------------------------------------------------------------
+r8 | sally | 2002-01-17 16:55:36 -0500 (mar. 17 jan. 2002) | 1 ligne
+Changed paths:
+   A /calc/trunk/Makefile
+   A /calc/trunk/LISEZMOI
+   A /calc/trunk/doc/INSTALL
+   A /calc/trunk/src/bouton.c
+   A /calc/trunk/src/entier.c
+   A /calc/trunk/src/main.c
+   A /calc/trunk/src/reel.c
+
+Import initial du code dans trunk pour le projet calc.
+------------------------------------------------------------------------
 </screen>
       </informalexample>
 
+<!--
       <para>Notice that Subversion is tracing the history of your
         branch's <filename>integer.c</filename> all the way back
         through time, even traversing the point where it was copied.
@@ -389,34 +791,46 @@
         copied when all of <filename>/calc/trunk/</filename> was
         copied.  Now look at what happens when Sally runs the same
         command on her copy of the file:</para>
+-->
 
+      <para>Notez bien que Subversion reprend tout l'historique du
+        <filename>entier.c</filename> de votre branche à travers le
+        temps, remontant même au delà du point où il a été copié. Il
+        liste la création d'une branche en tant qu'élément de
+        l'historique, parce qu'<filename>entier.c</filename> a été
+        copié implicitement lorsque <filename>calc/trunk</filename>
+        tout entier a été copié. Maintenant regardez ce qui se passe
+        quand Sally lance la même commande sur sa copie du
+        fichier :</para>
+
+<!--
       <informalexample>
         <screen>
 $ pwd
 /home/sally/calc
 
 $ svn log -v src/integer.c
-------------------------------------------------------------------------
-r344 | sally | 2013-02-15 16:44:44 -0500 (Fri, 15 Feb 2013) | 1 line
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+r344 | sally | 2013-02-15 16:44:44 -0500 (Fri, 15 fév. 2013) | 1 line
 Changed paths:
    M /calc/trunk/src/integer.c
 
 Refactor the bazzle functions.
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines
 Changed paths:
    M /calc/trunk/src/integer.c
 
 * integer.c:  changed a docstring.
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 …
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines
 Changed paths:
    M /calc/trunk/src/integer.c
 
 * integer.c: Revise the fooplus API.
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line
 Changed paths:
    A /calc/trunk/Makefile
@@ -428,10 +842,55 @@
    A /calc/trunk/src/real.c
 
 Initial trunk code import for calc project.
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+</screen>
+      </informalexample>
+-->
+      <informalexample>
+        <screen>
+$ pwd
+/home/sally/calc
+
+$ svn log -v src/entier.c
 ------------------------------------------------------------------------
+r344 | sally | 2002-11-07 15:27:56 -0600 (jeu. 07 nov. 2002) | 2 lignes
+ Chemins modifiés :
+    M /calc/trunk/src/entier.c
+
+ * entier.c:  refactorisé les fonctions bidulantes.
+
+------------------------------------------------------------------------
+r303 | sally | 2002-10-29 21:14:35 -0600 (mar. 29 oct. 2002) | 2 lignes
+ Chemins modifiés :
+    M /calc/trunk/entier.c
+
+ * entier.c:  modifié une docstring.
+
+------------------------------------------------------------------------
+…
+------------------------------------------------------------------------
+r98 | sally | 2002-02-22 15:35:29 -0600 (ven. 22 fev. 2002) | 2 lignes
+Chemins modifiés :
+  A /calc/trunk/src/entier.c
+
+* entier.c:  modifié l'API trucplusse.
+------------------------------------------------------------------------
+r8 | sally | 2002-01-17 16:55:36 -0500 (mar. 17 jan. 2002) | 1 ligne
+Changed paths:
+   A /calc/trunk/Makefile
+   A /calc/trunk/LISEZMOI
+   A /calc/trunk/doc/INSTALL
+   A /calc/trunk/src/bouton.c
+   A /calc/trunk/src/entier.c
+   A /calc/trunk/src/main.c
+   A /calc/trunk/src/reel.c
+
+Import initial du code dans trunk pour le projet calc.
+------------------------------------------------------------------------
 </screen>
       </informalexample>
 
+<!--
       <para>Sally sees her own revision 344 change, but not the change
         you made in revision 343.  As far as Subversion is concerned,
         these two commits affected different files in different
@@ -441,13 +900,28 @@
         341, the files used to be the same file.  That's why you and
         Sally both see the changes made between revisions 8 and
         154.</para>
+-->
+      <para>Sally voit la modification due à sa propre révision 344,
+        mais pas le changement que vous avez effectué dans la révision
+        343. Pour Subversion, ces deux propagations ont touché des
+        fichiers différents dans des dossiers distincts. Néanmoins,
+        Subversion <emphasis>indique bien</emphasis> que les deux
+        fichiers partagent une histoire commune. Avant que la copie de
+        branche n'ait été faite en révision 341, les fichiers ne
+        faisaient qu'un. C'est pourquoi Sally et vous voyez tous les
+        deux les modifications apportées entre les révisions 8 et
+        303.</para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.concepts">
-      <title>The Key Concepts Behind Branching</title> 
+<!--
+      <title>The Key Concepts Behind Branching</title>
+-->
+      <title>Gestion des branches par Subversion : notions clés</title>
 
+<!--
       <para>You should remember two important lessons
         from this section.  First, Subversion has no internal concept
         of a branch—it knows only how to make copies.  When you
@@ -457,7 +931,18 @@
         differently, or treat it differently, but to Subversion it's
         just an ordinary directory that happens to carry some extra
         historical information.</para>
+-->
+      <para>Il y a deux leçons importantes à retenir de ce paragraphe.
+        Premièrement, Subversion n'a pas de notion interne de
+        branche — il sait seulement faire des copies. Quand
+        vous copiez un dossier, le dossier qui en résulte n'est une
+        <quote>branche</quote> que parce que <emphasis>vous</emphasis>
+        le considérez comme tel. Vous aurez beau envisager ce dossier
+        différemment ou le traiter différemment, pour Subversion c'est
+        juste un dossier ordinaire auquel sont associées des
+        informations extérieures relatives à son historique.</para>
 
+<!--
       <para>Second, because of this copy mechanism, Subversion's
         branches exist as <emphasis>normal filesystem
         directories</emphasis> in the repository.  This is different
@@ -468,6 +953,19 @@
         to Subversion.  Most teams follow a convention of putting all
         branches into a <filename>/branches</filename> directory, but
         you're free to invent any policy you wish.</para>
+-->
+      <para>Deuxièmement, en raison de ce mécanisme de copie, les
+        branches de Subversion existent en tant que
+        <emphasis>dossiers classiques du système de fichiers</emphasis>
+        du dépôt. En cela, Subversion diffère des autres systèmes
+        de gestion de versions, où les branches sont définies par
+        l'ajout d'<quote>étiquettes</quote>
+        (<foreignphrase>labels</foreignphrase> en anglais)
+        extra-dimensionnelles à des groupes de fichiers. L'emplacement
+        du dossier de votre branche importe peu à Subversion. La plupart
+        des équipes ont pour convention de placer toutes les branches
+        dans un dossier <filename>/branches</filename>, mais vous êtes
+        libre d'inventer la convention qui vous plaît.</para>
 
     </sect2>
 
@@ -478,19 +976,39 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.basicmerging">
+<!--
     <title>Basic Merging</title>
+-->
+    <title>Fusions : pratiques de base</title>
 
+<!--
     <para>Now you and Sally are working on parallel branches of the
       project: you're working on a private branch, and Sally is
       working on the trunk, or main line of development.</para>
+-->
+    <para>Désormais, Sally et vous travaillez sur des branches
+      parallèles du projet : vous travaillez sur une branche
+      privée et Sally travaille sur le <firstterm>tronc</firstterm>
+      (<foreignphrase>trunk</foreignphrase> en anglais), la branche de
+      développement principale.</para>
 
+<!--
     <para>For projects that have a large number of contributors, it's
       common for most people to have working copies of the trunk.
       Whenever someone needs to make a long-running change that is
       likely to disrupt the trunk, a standard procedure is to create a
       private branch and commit changes there until all the work is
       complete.</para>
+-->
+    <para>Pour les projets qui ont un grand nombre de contributeurs,
+      il est d'usage que la plupart des gens ait des copies
+      de travail du tronc. Dès que quelqu'un doit faire des
+      modifications de longue haleine, susceptibles de perturber
+      le tronc, une procédure standard est qu'il crée une branche
+      privée et qu'il y propage les modifications jusqu'à ce que tout
+      le travail soit terminé.</para>
 
+<!--
     <para>So, the good news is that you and Sally aren't interfering
       with each other.  The bad news is that it's very easy to drift
       <emphasis>too</emphasis> far apart.  Remember that one of the
@@ -498,7 +1016,17 @@
       that by the time you're finished with your branch, it may be
       near-impossible to merge your changes back into the trunk
       without a huge number of conflicts.</para>
+-->
+    <para>Bref, la bonne nouvelle est que Sally et vous n'empiétez
+      pas l'un sur l'autre. La mauvaise nouvelle est qu'il est très
+      facile de <emphasis>dériver</emphasis> chacun de son côté.
+      Rappelez-vous qu'un des problèmes lié à la stratégie
+      d'<quote>isolement</quote> est que lorsque vous en aurez fini
+      avec votre branche, il risque d'être quasi impossible de
+      refusionner vos modifications dans le tronc sans avoir à faire
+      face à un grand nombre de conflits.</para>
 
+<!--
     <para>
       <indexterm>
         <primary>merging</primary>
@@ -512,7 +1040,28 @@
       branch to another is called <firstterm>merging</firstterm>, and
       it is performed using various invocations of the <command>svn
       merge</command> subcommand.</para>
+-->
+    <para>
+      <indexterm>
+        <primary>fusions</primary>
+      </indexterm>
+      <indexterm>
+        <primary>merging</primary>
+        <see>fusions</see>
+      </indexterm>À la place, Sally et vous pourriez continuer de
+      partager vos changements au fur et à mesure de votre travail.
+      C'est à vous de décider quelles modifications valent la peine
+      d'être partagées ; Subversion vous offre la possibilité de
+      <quote>copier</quote> sélectivement des modifications entre
+      les branches. Et quand vous aurez tout fini dans votre branche,
+      l'ensemble de vos modifications pourra être recopié en entier
+      vers le tronc. Dans la terminologie Subversion, l'action
+      générale de réplication des modifications d'une branche vers
+      une autre s'appelle la <firstterm>fusion</firstterm> et elle
+      s'effectue à l'aide de plusieurs exécutions de la sous-commande
+      <command>svn merge</command>.</para>
 
+<!--
     <para>In the examples that follow, we're assuming that both your
       Subversion client and server are running Subversion 1.8 (or
       later).  If either client or server is older than version 1.5,
@@ -526,8 +1075,24 @@
       already been merged and what hasn't.  For this reason,
       we <emphasis>strongly</emphasis> recommend that you make sure your
       client and server are at least at version 1.5.</para>
+-->
+    <para>Dans les exemples qui suivent, nous supposerons que le
+      client et le serveur Subversion sont tous deux en version 1.8
+      (ou plus récente). Si l'un ou l'autre sont en version plus
+      ancienne que la 1.5, les choses sont plus compliquées : le
+      système ne gére pas les changements de façon automatique et vous
+      devrez utiliser des méthodes manuelles pénibles pour obtenir
+      des résultats similaires. Vous devrez en effet toujours utiliser
+      la syntaxe détaillée de la fusion spécifiant l'éventail des
+      révisions à répliquer
+      (voir <xref linkend="svn.branchmerge.advanced.advancedsyntax"/>
+      plus loin dans ce chapitre) et penser à garder trace de ce qui a
+      déjà été fusionné et de ce qui ne l'a pas encore été. Pour cette
+      raison, nous recommandons <emphasis>fortement</emphasis> de vous
+      assurer que client et serveur sont au moins en version 1.5.</para>
 
     <sidebar id="svn.branchmerge.basicmerging.mergetracking">
+<!--
       <title>Merge Tracking</title>
       <para>
         <indexterm>
@@ -543,12 +1108,40 @@
         use a 1.8 client.  This is particularly important with regard to merge
         tracking, because the overwhelming majority of fixes and enhancements
         to it are on the client side.</para>
+-->
+      <title>Suivi de fusions</title>
+      <para>
+        <indexterm>
+          <primary>fusions</primary>
+          <secondary>suivi</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>merge tracking</primary>
+          <see>fusions, suivi</see>
+        </indexterm>Subversion 1.5 a introduit la fonction de
+        <firstterm>suivi des fusions</firstterm>
+        (<foreignphrase>merge tracking</foreignphrase> en anglais).
+        Auparavant, garder la trace de toutes les fusions nécessitait
+        de lourdes actions manuelles  ou l'utilisation d'outils
+        externes. Les versions suivantes de Subversion ont apporté
+        beaucoup d'améliorations et de corrections au suivi des fusions,
+        c'est pourquoi nous recommandons d'utiliser les versions les
+        plus récentes pour le serveur et le client. Gardez à l'esprit
+        que, même si votre serveur est sous les versions 1.5-1.7, vous
+        pouvez utiliser un client 1.8. C'est particulièrement important
+        pour ce qui concerne le suivi des fusions, car la grande
+        majorité des corrections et améliorations sont relatives au
+        client.</para>
     </sidebar>
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.changesets">
+<!--
       <title>Changesets</title>
+-->
+      <title>Ensembles de modifications</title>
 
+<!--
       <para>
         <indexterm>
           <primary>changesets</primary>
@@ -559,7 +1152,26 @@
         and <quote>changeset</quote> interchangeably, and we should
         clarify what Subversion understands as
         a <firstterm>changeset</firstterm>.</para>
+-->
+      <para>
+        <indexterm>
+          <primary>ensembles de modifications</primary>
+        </indexterm>
+        <indexterm>
+          <primary>changesets</primary>
+          <see>ensembles de modifications</see>
+        </indexterm>Avant que nous n'allions plus loin, nous devons vous
+        avertir que les pages suivantes contiennent de nombreuses
+        discussions portant sur les <quote>modifications</quote>.
+        Beaucoup de gens ayant de l'expérience dans les systèmes de
+        gestion de versions utilisent le terme
+        <quote>modifications</quote> et le terme <quote>ensemble de
+        modifications</quote> de façon interchangeable et nous allons
+        donc clarifier ce que Subversion entend par
+        <firstterm>ensemble de modifications</firstterm>
+        (<foreignphrase>changeset</foreignphrase> en anglais).</para>
 
+<!--
       <para>Everyone seems to have a slightly different definition
         of changeset, or at least a different
         expectation of what it means for a version control system to
@@ -568,7 +1180,20 @@
         include textual edits to file contents, modifications to tree
         structure, or tweaks to metadata.  In more common speak, a
         changeset is just a patch with a name you can refer to.</para>
+-->
+      <para>Chacun semble avoir sa propre définition, variant
+        légèrement, d'un ensemble de modifications, ou tout du moins
+        a une attente différente quant à leur traitement par le système
+        de gestion de versions. En ce qui nous concerne, disons
+        qu'un ensemble de modifications n'est qu'un simple regroupement
+        de modifications identifié par un nom unique. Les modifications
+        peuvent inclure des changements textuels du contenu des
+        fichiers, des modifications de l'arborescence ou des
+        ajustements portant sur les méta-données. En langage plus
+        courant, un ensemble de modifications n'est qu'un correctif
+        avec un nom auquel vous pouvez vous référer.</para>
 
+<!--
       <para>In Subversion, a global revision
         number <replaceable>N</replaceable> names a tree in the
         repository: it's the way the repository looked after the
@@ -592,13 +1217,44 @@
         arguments: passing <userinput>-c 9238</userinput>
         to <command>svn merge</command> would merge changeset r9238
         into your working copy.</para>
+-->
+      <para>Dans Subversion, un numéro de révision globale
+        <replaceable>N</replaceable> désigne une arborescence dans le
+        dépôt : c'est ce à quoi le dépôt ressemblait après la
+        <replaceable>N</replaceable>-ième propagation. C'est aussi le
+        nom implicite d'un ensemble de modifications : si vous
+        comparez l'arborescence <replaceable>N</replaceable> avec
+        l'arborescence <replaceable>N</replaceable>-1, vous pouvez en
+        déduire exactement le correctif qui a été propagé. Pour cette
+        raison, il est facile de se représenter une révision
+        <replaceable>N</replaceable> non seulement comme une
+        arborescence, mais aussi comme un ensemble de modifications. Si
+        vous utilisez un système de gestion des incidents pour gérer vos
+        bogues, vous pouvez utiliser les numéros de révision pour vous
+        référer à des correctifs particuliers permettant de résoudre des
+        bogues — par exemple, <quote>cet incident a été corrigé
+        par r9238</quote>. Quelqu'un peut alors lancer <userinput>svn
+        log -r 9238</userinput> pour obtenir le détail des modifications
+        qui ont corrigé le bogue et lancer <userinput>svn diff -c
+        9238</userinput> pour voir le correctif lui-même. De plus (comme
+        nous le verrons bientôt), la commande <command>svn
+        merge</command> de Subversion est capable d'utiliser les numéros
+        de révision. Vous pouvez fusionner des listes de modifications
+        spécifiques d'une branche à une autre en les nommant dans les
+        paramètres de la fusion : donner comme argument
+        <userinput>-c 9238</userinput> à <command>svn merge</command>
+        fusionne la liste de modifications r9238 avec votre copie de
+        travail.</para>
 
     </sect2>
-
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.basicmerging.stayinsync">
+<!--
       <title>Keeping a Branch in Sync</title>
+-->
+      <title>Garder une branche synchronisée</title>
 
+<!--
       <para>
         <indexterm>
           <primary>merging</primary>
@@ -630,38 +1286,96 @@
         changesets are passed to <command>svn merge</command> via the
         <option>-r</option> or <option>-c</option> options in an automatic
         merge.</para>
+-->
+      <para>
+        <indexterm>
+          <primary>fusions</primary>
+          <secondary>synchronisation de branches</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>svn</primary>
+          <secondary>sous-commandes</secondary>
+          <tertiary>merge</tertiary>
+        </indexterm>Continuons avec notre exemple précédent et imaginons
+        qu'une semaine a passé depuis que vous avez commencé à
+        travailler sur votre branche privée. Votre nouvelle
+        fonctionnalité n'est pas encore terminée, mais en même temps
+        vous savez que d'autres personnes de votre équipe ont continué
+        à faire des modifications importantes sur l'arborescence
+        <filename>/trunk</filename> du projet. Vous avez intérêt à
+        recopier ces modifications dans votre propre branche, juste
+        pour vous assurer qu'elles se combinent bien avec vos propres
+        modifications. Cette opération s'effectue par <firstterm>fusion
+        automatique  de synchronisation</firstterm> (une opération de
+        fusion destinée à garder votre branche synchronisée avec les
+        modifications faites dans l'arborescence
+        <quote>ancestrale</quote> de création de ladite branche).
+        <indexterm>
+			<primary>fusions</primary>
+			<secondary>automatiques</secondary>
+        </indexterm>Une fusion automatique est simplement une fusion
+        pour laquelle vous ne fournissez que le minimum d'informations
+        requis (c'est-à-dire une seule source et une copie de travail
+        pour destination) et que vous laissez Subversion déterminer
+        quels modifications doivent être fusionnées — dans une
+        fusion automatique, aucun  ensemble de modifications n'est passé
+        à la commande <command>svn merge</command> par l'option
+        <option>-r</option> ou <option>-c</option>.</para>
 
+<!--
       <tip>
         <para>Frequently keeping your branch in sync with the main
           development line helps prevent <quote>surprise</quote>
           conflicts when the time comes for you to fold your changes
           back into the trunk.</para>
       </tip>
+-->
+      <tip>
+        <para>En fait, c'est là une bonne pratique : synchroniser
+          fréquemment votre branche avec la ligne de développement
+          principale permet d'éviter les conflits
+          <quote>surprises</quote> le jour où vous reversez vos
+          modifications dans le tronc.</para>
+      </tip>
 
+<!--
       <para>Subversion is aware of the history of your branch and
         knows when it split away from the trunk.  To perform a sync
         merge, first make sure your working copy of the branch
         is <quote>clean</quote>—that it has no local
         modifications reported by <command>svn status</command>.  Then
         simply run:</para>
+-->
+      <para>Subversion connaît l'historique de votre branche et sait à
+        quel moment elle s'est séparée du tronc. Afin de récupérer les
+        modifications du tronc les plus récentes et les plus
+        importantes, assurez-vous en premier lieu que votre copie de
+        travail est <quote>propre</quote>, c'est-à-dire que
+        <command>svn status</command> ne liste aucune modification
+        locale. Puis lancez juste :</para>
 
       <informalexample>
-        <screen>
+        <screen><!--
 $ pwd
 /home/user/my-calc-branch
 
 $ svn merge ^/calc/trunk
---- Merging r341 through r351 into '.':
-U    doc/INSTALL
-U    src/real.c
-U    src/button.c
-U    Makefile
---- Recording mergeinfo for merge of r341 through r351 into '.':
- U   .
- $
+- - Merging r341 through r351 into '.':
+- - Recording mergeinfo for merge of r345 through r356 into '.':
+-->
+$ pwd
+/home/user/ma-branche-calc
+
+$ svn merge ^/calc/trunk
+--- Fusion de r341 à r351 dans '.':
+--- Stockage des informations de fusion (mergeinfo) de r345 à r356 dans '.' :
+U    bouton.c
+U    entier.c
+$
 </screen>
       </informalexample>
 
+<!--
       <para>
         <indexterm>
           <primary>properties</primary>
@@ -681,7 +1395,29 @@
         both this property and these notifications later in this
         chapter, in
         <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/>.</para>
+-->
+      <para>
+        <indexterm>
+          <primary>propriétés</primary>
+          <secondary>svn:mergeinfo</secondary>
+        </indexterm>La syntaxe de base, <userinput>svn merge
+        <replaceable>URL</replaceable></userinput>, indique à Subversion
+        qu'il doit fusionner toutes les modifications récentes depuis
+        l'URL vers le répertoire de travail actuel (qui est bien souvent
+        la racine de votre copie de travail). Remarquez que nous
+        utilisons la syntaxe circonflexe
+        (<literal>^</literal>)<footnote><para>Cette notation a été
+        introduite par Subversion 1.6</para></footnote> afin d'éviter
+        d'avoir à taper l'URL complète jusqu'au
+        <filename>trunk</filename>. Remarquez également la notification
+        de Subversion <quote>Recording mergeinfo for merge
+        …</quote>. Ceci vous indique que la fusion met à jour la
+        propriété <literal>svn:mergeinfo</literal>. Nous aborderons
+        cette propriété et les notifications plus loin dans ce chapitre,
+        dans
+        <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/>.</para>
 
+<!--
       <tip>
         <para>
           <indexterm>
@@ -692,10 +1428,32 @@
           is simply shorthand for the <literal>svn:mergeinfo</literal>
           property.</para>
       </tip>
+-->
+      <tip>
+        <para>
+          <indexterm>
+            <primary>mergeinfo</primary>
+		  </indexterm>
+		  <indexterm>
+			<primary>informations de fusion</primary>
+            <see>mergeinfo</see>
+          </indexterm>Dans ce chapitre et en général (listes de
+          diffusion de Subversion, articles sur le suivi de fusions,
+          etc.), vous rencontrerez souvent le terme
+          <firstterm>mergeinfo</firstterm> (<firstterm>informations de
+          fusion</firstterm> en français). C'est simplement un
+          raccourci pour désigner la propriété
+          <literal>svn:mergeinfo</literal></para>
+      </tip>
 
       <sidebar>
+<!--
         <title>Keeping a Branch in Sync Without Merge Tracking</title>
+-->
+        <title>Garder une branche synchronisée sans le suivi de
+          fusions</title>
 
+<!--
         <para>You may not always be able to use Subversion's merge
           tracking feature, perhaps because your server is running
           Subversion 1.4 or earlier or you must use an older client.
@@ -703,30 +1461,55 @@
           but Subversion will need you to manually do many of the historical
           calculations that it automatically does on your behalf when the
           merge tracking feature is available.</para>
+-->
+        <para>vous ne serez pas toujours en mesure d'utilliser le suivi
+          de fusions réalisé par Subversion, soit parce que votre
+          serveur fait tourner Subversion 1.4 ou antérieur, soit parce
+          que vous utilisez un vieux client. Dans ce cas, vous
+          pouvez toujours effectuer des fusions mais Subversion aura
+          besoin de vous pour effectuer manuellement les calculs
+          d'historique qu'il effectue automatiquement pour votre
+          compte lorsque la fonctionnalité est disponible.</para>
 
+<!--
         <para>To replicate the most recent trunk changes you need to
           perform sync merges the <quote>old-fashioned</quote>
           way—by specifying ranges of revisions you wish to
           merge.</para>
+-->
+        <para>Pour répliquer les modifications les plus récentes du
+          tronc, vous devez effectuer des fusions de synchronisation
+          <quote>à l'ancienne</quote> : en spécifiant les
+          intervalles de révisions que vous souhaitez fusionner.</para>
 
+<!--
         <para>Using the ongoing example, you know that you branched
-          <filename>/calc/trunk</filename> to 
+          <filename>/calc/trunk</filename> to
           <filename>/calc/branches/my-calc-branch</filename> in revision
           341:</para>
+-->
+        <para>Avec notre exemple, vous savez que vous avez créé votre
+          branche <filename>/calc/branches/ma-branche-calc</filename> à
+          la révision 341 à partir de
+          <filename>/calc/trunk</filename> :</para>
 
         <informalexample>
           <screen>
 $ svn log -v -r341
-------------------------------------------------------------------------
-r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 Feb 2013) | 1 line
+------------------------------------------------------------------------ <!--
+r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 fév. 2013) | 1 line
 Changed paths:
-   A /calc/branches/my-calc-branch (from /calc/trunk:340)
+   A /calc/branches/my-calc-branch (from /calc/trunk:340)-->
+r341 | utilisateur | 2002-11-03 15:27:56 -0600 (jeu. 07 nov. 2002) | 2 lignes
+Chemins modifiés :
+   A /calc/branches/ma-branche-calc (from /calc/trunk:340)
 
-Creating a private branch of /calc/trunk.
+Création d'une branche privée à partir de /calc/trunk.
 ------------------------------------------------------------------------
 </screen>
         </informalexample>
 
+<!--
         <para>When you are ready to synchronize your branch with the
           ongoing changes from trunk, you specify the starting
           revision as the revision of <filename>/calc/trunk</filename>
@@ -734,22 +1517,40 @@
           the youngest change on <filename>/calc/trunk</filename>.  You
           can find the latter with the <command>svn log</command> command
           with the <option>-r</option> set to <literal>HEAD</literal>:</para>
+-->
+        <para>Quand vous êtes prêt à synchroniser votre branche avec les
+          modifications en cours du tronc, vous spécifiez la révision de
+          départ comme la valeur de révision où
+          <filename>/calc/trunk</filename> a été copié, et la révision
+          de fin comme le changement le plus récent dans
+          <filename>/calc/trunk</filename>. Vous obtenez ce numéro avec
+          la commande <command>svn log</command> et l'option
+          <option>-r</option> positionnée à la valeur
+          <literal>HEAD</literal> :</para>
 
         <informalexample>
-          <screen>
-$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk
+          <screen><!--
+$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk-->
+$ svn log -q -rHEAD http://svn.exemple.com/depot/calc/trunk
+------------------------------------------------------------------------<!--
+r351 | sally | 2013-02-16 08:04:22 -0500 (Sat, 16 fév. 2013)-->
+r351 | sally | 2013-02-16 08:04:22 -0500 (Sam. 16. fev. 2013)
 ------------------------------------------------------------------------
-r351 | sally | 2013-02-16 08:04:22 -0500 (Sat, 16 Feb 2013)
-------------------------------------------------------------------------
-
+<!--
 $ svn merge http://svn.example.com/repos/calc/trunk -r340:351
 U    doc/INSTALL
 U    src/real.c
 U    src/button.c
+U    Makefile-->
+$ svn merge http://svn.exemple.com/depot/calc/trunk -r340:351
+U    doc/INSTALL
+U    src/reel.c
+U    src/bouton.c
 U    Makefile
 </screen>
         </informalexample>
 
+<!--
         <para>After any conflicts have been resolved, you can commit
           the merged changes to your branch.  Now, to avoid
           accidentally trying to merge these same changes into your
@@ -758,14 +1559,25 @@
           record be kept?  One of the simplest places to record this
           information is in the log message for the commit of the
           merge:</para>
+-->
+        <para>Après avoir résolu les conflits éventuels, vous pouvez
+          propager les éléments fusionnés de votre branche. Maintenant,
+          pour éviter d'essayer accidentellement de fusionner de nouveau
+          les mêmes modifications plus tard dans votre branche, vous
+          devrez garder une trace de cette opération. Mais où donc en
+          garder une trace ? L'un des endroits les plus simples est
+          de placer cette information dans le message de propagation de
+          la fusion :</para>
 
         <informalexample>
-          <screen>
-$ svn ci -m "Sync the my-calc-branch with ^/calc/trunk through r351."
+          <screen><!--
+$ svn ci -m "Sync the my-calc-branch with ^/calc/trunk through r351."-->
+$ svn ci -m "Synchronisation de ma-branche-calc avec ^/calc/trunk jusqu'à r351."
 …
 </screen>
         </informalexample>
 
+<!--
         <para>The next time you sync
           <filename>/calc/branches/my-calc-branch</filename>  with
           <filename>/calc/trunk</filename> you repeat this process, except
@@ -776,67 +1588,115 @@
           that youngest revision was by reading the revision logs
           associated with your branch.  Once you know your starting
           revision, you can perform another sync merge:</para>
+-->
+        <para>La prochaine fois que vous voulez synchroniser
+          <filename>/calc/branches/ma-branche-calc</filename> avec
+          <filename>/calc/trunk</filename>, vous suivez la même
+          procédure, sauf que la révision de départ devient le numéro
+          de la révision la plus récente qui a déjà été fusionnée à
+          partir du tronc. Si vous annotez correctement vos messages de
+          propagation avec les informations de fusions, vous devriez
+          être capable de déterminer la révision la plus récente en
+          lisant les messages de propagation relatifs à votre branche.
+          Une fois le numéro de départ connu, vous pouvez effectuer une
+          autre fusion de synchronisation :</para>
 
         <informalexample>
-          <screen>
-$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk
+          <screen><!--
+$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk-->
+$ svn log -q -rHEAD http://svn.exemple.com/depot/calc/trunk
+------------------------------------------------------------------------<!--
+r959 | sally | 2013-03-5 7:30:21 -0500 (Tue, 05 Mar 2013)-->
+r959 | sally | 2013-03-5 7:30:21 -0500 (dim. 05. mar 2013)
 ------------------------------------------------------------------------
-r959 | sally | 2013-03-5 7:30:21 -0500 (Tue, 05 Mar 2013)
-------------------------------------------------------------------------
 
-$ svn merge http://svn.example.com/repos/calc/trunk -r351:959
+<!--
+$ svn merge http://svn.example.com/repos/calc/trunk -r351:959-->
+$ svn merge http://svn.exemple.com/depot/calc/trunk -r351:959
 …
 </screen>
         </informalexample>
 
       </sidebar>
 
+<!--
       <para>After running the prior example, your branch working copy
         now contains new local modifications, and these edits are
         duplications of all of the changes that have happened on the
         trunk since you first created your branch:</para>
+-->
+      <para>À la fin de cet exemple, votre copie de travail de la
+        branche contient de nouvelles modifications locales qui
+        correspondent à toutes les modifications qui ont eu lieu sur le
+        tronc depuis la création de votre branche :</para>
 
       <informalexample>
         <screen>
 $ svn status
  M      .
 M       Makefile
-M       doc/INSTALL
+M       doc/INSTALL<!--
 M       src/button.c
-M       src/real.c
+M       src/real.c-->
+M       src/bouton.c
+M       src/reel.c
 </screen>
       </informalexample>
 
+<!--
       <para>At this point, the wise thing to do is look at the changes
         carefully with <command>svn diff</command>, and then build and
         test your branch.  Notice that the current working directory
         (<quote><filename>.</filename></quote>) has also been
         modified; <command>svn diff</command> shows that
         its <literal>svn:mergeinfo</literal> property has been created.
-        </para>
+  </para>
+-->
+      <para>Maintenant, le plus sage consiste à examiner attentivement
+        chaque modification avec <command>svn diff</command>, puis à
+        compiler et tester votre branche. Notez que le répertoire
+        de travail actuel (<quote><filename>.</filename></quote>) a
+        aussi été modifié.
+        La commande <command>svn diff</command> indique que sa propriété
+        <literal>svn:mergeinfo</literal> a été créée.</para>
 
       <informalexample>
         <screen>
 $ svn diff --depth empty .
 Index: .
-===================================================================
---- .   (revision 351)
+===================================================================<!--
+- - .   (revision 351)
 +++ .   (working copy)
 
 Property changes on: .
 ___________________________________________________________________
 Added: svn:mergeinfo
-   Merged /calc/trunk:r341-351
+   Merged /calc/trunk:r341-351-->
+--- .   (révision 351)
++++ .   (copie de travail)
+
+Modification de propriétés sur .
+___________________________________________________________________
+Ajouté : svn:mergeinfo
+   Fusionné /calc/trunk:r341-351
 </screen>
       </informalexample>
 
+<!--
       <para>
         This new property is important merge-related metadata
         that you should <emphasis>not</emphasis> touch, since it is
         needed by future <command>svn merge</command> commands.
         (We'll learn more about this metadata later in the
         chapter.)</para>
+-->
+      <para>Cette nouvelle propriété contient d'importantes métadonnées
+        relatives à la fusion que <emphasis>vous ne devez pas</emphasis>
+        modifier, car elles sont nécessaires aux futures commandes
+        <command>svn merge</command> (nous en apprendrons plus sur ces
+        métadonnées plus loin dans ce chapitre).</para>
 
+<!--
       <para>After performing the merge, you might also need to resolve
         some conflicts—just as you do with <command>svn
         update</command>—or possibly make some small edits to get
@@ -849,9 +1709,25 @@
         long <quote>what's going on?</quote> discussion with your
         collaborators.  If things look good, however, you can
         submit these changes into the repository:</para>
+-->
+      <para>Après cette fusion, vous êtes susceptible de devoir résoudre
+        quelques conflits (de même que lorsque vous effectuez une mise à
+        jour avec <command>svn update</command>) ou d'effectuer des
+        corrections à la main pour que les choses fonctionnent
+        correctement : rappelez-vous que l'absence de conflits
+        <emphasis>syntaxiques</emphasis> ne veut pas dire l'absence de
+        conflits <emphasis>sémantiques</emphasis> ! Si vous
+        rencontrez de sérieux problèmes, vous pouvez toujours abandonner
+        vos modifications locales en lançant la commande <userinput>svn
+        revert . -R</userinput> et ouvrir une conversation qui promet
+        d'être longue avec vos collaborateurs sur le thème <quote>c'est
+        quoi ce truc ?</quote>. Mais si les choses se passent bien,
+        vous pouvez propager les modifications dans le
+        dépôt :</para>
 
       <informalexample>
         <screen>
+<!--
 $ svn commit -m "Sync latest trunk changes to my-calc-branch."
 Sending        .
 Sending        Makefile
@@ -860,25 +1736,51 @@
 Sending        src/real.c
 Transmitting file data ....
 Committed revision 352.
+-->
+$ svn commit -m "Synchronisation des dernières modifications du tronc avec ma-branche-calc."
+Envoi              .
+Envoi              Makefile
+Envoi              doc/INSTALL
+Envoi              src/bouton.c
+Envoi              src/reel.c
+Transmission des données .
+Révision 352 propagée.
 </screen>
       </informalexample>
 
+<!--
       <para>At this point, your private branch is now <quote>in
         sync</quote> with the trunk, so you can rest easier knowing
         that as you continue to work in isolation, you're not drifting
         too far away from what everyone else is doing.</para>
+-->
+      <para>À ce stade, votre branche privée est <quote>en phase</quote>
+        avec le tronc et vous pouvez dormir tranquille car vous savez
+        que vous pouvez continuer à travailler dans votre coin tout en
+        ne dérivant pas trop par rapport au reste de l'équipe.</para>
 
       <sidebar>
+<!--
         <title>Why Not Use Patches Instead?</title>
+-->
+        <title>Pourquoi ne pas utiliser des correctifs de type patch à la place ?</title>
 
+<!--
         <para>A question may be on your mind, especially if you're a
           Unix user: why bother to use <command>svn merge</command> at
           all?  Why not simply use <command>svn patch</command> or the
           operating system's <command>patch</command> command to
           accomplish the same job?  For example:</para>
+-->
+        <para>Une question vous trotte peut-être dans la tête, surtout
+          si vous êtes un utilisateur d'Unix : pourquoi s'embêter à
+          utiliser <command>svn merge</command> ? Pourquoi ne pas
+          tout simplement utiliser la commande <command>patch</command>
+          du système d'exploitation pour accomplir la même tâche ?
+          Par exemple :</para>
 
         <informalexample>
-          <screen>
+          <screen><!--
 $ cd my-calc-branch
 
 $ svn diff -r 341:351 ^/calc/trunk > my-patch-file
@@ -887,10 +1789,20 @@
 U         doc/INSTALL
 U         src/real.c
 U         src/button.c
+U         Makefile-->
+$ cd ma-branche-calc
+
+$ svn diff -r 341:351 ^/calc/tronc > fichierpatch
+
+$ svn patch fichierpatch
+U         doc/INSTALL
+U         src/reel.c
+U         src/bouton.c
 U         Makefile
 </screen>
         </informalexample>
 
+<!--
         <para>In this particular example, there really isn't much
           difference.  But <command>svn merge</command> has special
           abilities that surpass the <command>patch</command> program.
@@ -907,7 +1819,28 @@
           express.  Even Subversion's own <command>svn patch</command>
           subcommand, while more flexible than the patch program, still has
           similar limitations.</para>
+-->
+        <para>Dans cet exemple, il n'y a pas vraiment de grande
+          différence. Mais <command>svn merge</command> possède des
+          fonctionnalités spécifiques qui surpassent le programme
+          <command>patch</command>. Le format de fichier utilisé par
+          <command>patch</command> est assez limité ; il ne sait
+          manipuler que les contenus de fichier. Il n'y a pas moyen de
+          représenter des changements dans
+          <emphasis>l'arborescence</emphasis>, tels que l'ajout,
+          la suppression ou le renommage de fichiers ou de dossiers.
+          Le programme <command>patch</command> n'est pas non plus
+          capable de prendre en compte des modifications de propriétés.
+          Si Sally avait, par exemple, ajouté un nouveau dossier,
+          <command>svn diff</command> ne l'aurait pas mentionné du
+          tout en sortie. Le résultat de <command>svn diff</command>
+          n'est qu'au format <quote>patch</quote>, il y a donc des
+          concepts qu'il ne peut tout simplement pas exprimer. Même la
+          sous-commande <command>svn patch</command> de Subversion,
+          bien que plus flexible que le programme patch, possède aussi
+          des limitations comparables.</para>
 
+<!--
         <para>The <command>svn merge</command> command, however, can
           express changes in tree structure and properties by directly
           applying them to your working copy.  Even more important,
@@ -919,25 +1852,50 @@
           usable; without it, users would have to manually keep notes
           on which sets of changes have or haven't been merged
           yet.</para>
-
+-->
+        <para>La commande <command>svn merge</command>, en revanche,
+          peut gérer des modifications dans l'arborescence et dans
+          les propriétés en les appliquant directement à votre copie
+          de travail. Et, ce qui est encore plus important, cette
+          commande enregistre les modifications qui ont été
+          dupliquées vers votre branche de telle sorte que Subversion
+          sait exactement quelles modifications existent dans chaque
+          endroit (voir <xref
+          linkend="svn.branchmerge.basicmerging.mergeinfo"/>).
+          C'est une fonctionnalité cruciale qui rend la gestion des
+          branches utilisable ; sans elle, les utilisateurs
+          seraient forcés de conserver des notes manuelles relatant
+          quelles listes de modifications ont été fusionnées
+          (et lesquelles ne l'ont pas été).</para>
       </sidebar>
 
+<!--
       <para>Suppose that another week has passed.  You've committed
         more changes to your branch, and your comrades have continued
         to improve the trunk as well.  Once again, you want to
         replicate the latest trunk changes to your branch and bring
         yourself in sync.  Just run the same merge command
         again!</para>
+-->
+      <para>Supposons qu'une autre semaine s'est écoulée. Vous avez
+        propagé des modifications supplémentaires dans votre branche
+        et vos camarades ont également continué à améliorer le
+        tronc. Une fois encore, vous aimeriez répercuter les dernières
+        modifications du tronc vers votre branche et ainsi être en
+        phase. Lancez juste la même commande <command>svn
+        merge</command> à nouveau !</para>
 
       <informalexample>
         <screen>
-$ svn merge ^/calc/trunk
+$ svn merge ^/calc/trunk <!--
 svn: E195020: Cannot merge into mixed-revision working copy [352:357]; try up\
-dating first
+dating first-->
+svn: E195020: Cannot merge into mixed-revision working copy [352:357]; try updating first
 $
 </screen>
       </informalexample>
 
+<!--
       <para>Well that was unexpected!  After making changes to your
         branch over the past week you now find yourself with a working
         copy that contains a mixture of revisions (see
@@ -952,36 +1910,78 @@
         mixed-revision working copies can result in unexpected text
         and tree conflicts.<footnote><para>The <command>svn
         merge</command> subcommand
-        option <option>--allow-mixed-revisions</option> allows you to
+        option <option>- -allow-mixed-revisions</option> allows you to
         override this prohibition, but you should only do so if you
         understand the ramifications and have a good reason for
         it.</para></footnote>  We don't want any needless conflicts, so
         we update the working copy and then reattempt the
         merge.</para>
+-->
+      <para>Ça par exemple, nous ne attendions pas à ça ! Après
+        avoir fait des modifications dans votre branche cette semaine,
+        vous vous retrouvez avec une copie de travail à révisions
+        mélangées (voir
+        <xref linkend="svn.basic.in-action.mixedrevs"/>). Avec
+        Subversion 1.7 ou plus récent, la sous-commande <command>svn
+        merge</command> interdit par défaut les fusions dans les copies
+        de travail à révisions mélangées. Sans rentrer dans les détails,
+        cela résulte de la façon dont la trace des fusions est conservée
+        dans la propriété <literal>svn:mergeinfo</literal> (lisez
+        <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/> pour
+        les détails). Des fusions dans les copies de travail à révisions
+        mélangées peuvent créer des conflits textuels ou
+        d'arborescence<footnote><para>L'option
+        <option>--allow-mixed-revisions</option> de la sous-commande
+        <command>svn merge</command> vous permet de lever cette
+        interdiction, mais vous ne devriez le faire que si vous
+        comprenez les implications et que vous avez une bonne raison de
+        le faire.</para></footnote>. Nous ne voulons pas conflit
+        inutile, c'est pourquoi nous mettons à jour la copie de travail
+        et nous réessayons la fusion.</para>
 
       <informalexample>
         <screen>
-$ svn up
+$ svn up<!--
 Updating '.':
-At revision 361.
+At revision 361.-->
+Mise à jour de '.' :
+Actualisé à la révision 361.
 
-$ svn merge ^/calc/trunk
---- Merging r352 through r361 into '.':
+$ svn merge ^/calc/trunk<!--
+- - Merging r352 through r361 into '.':
+-->
+--- Fusion de r352 à r361 dans '.':<!--
 U    src/real.c
 U    src/main.c
---- Recording mergeinfo for merge of r352 through r361 into '.':
+- - Recording mergeinfo for merge of r352 through r361 into '.':
+-->
+U    src/reel.c
+U    src/main.c
+-- Stockage des informations de fusion (mergeinfo) de r352 à r361 dans '.' :
  U   .
 </screen>
       </informalexample>
 
+<!--
       <para>Subversion knows which trunk changes you previously
         replicated to your branch, so it carefully replicates only
         those changes you don't yet have.  And once again, you build,
         test, and <command>svn commit</command> the local modifications
         to your branch.</para>
+-->
+      <para>Subversion sait quelles sont les modifications du tronc
+        que vous avez déjà répercutées vers votre branche, il ne
+        répercute donc que les modifications que vous n'avez pas
+        encore. Une fois de plus, vous devrez compiler, tester et
+        propager avec <command>svn commit</command> les modifications
+        locales à votre branche.</para>
 
       <sidebar id="svn.branchmerge.basicmerging.stayinsync.subtree">
+<!--
         <title>Subtree Merges and Subtree Mergeinfo</title>
+-->
+        <title>Fusions de sous-arborescences et mergeinfo</title>
+<!--
         <para>
           <indexterm>
             <primary>merging</primary>
@@ -1006,25 +2006,57 @@
           to get a full accounting.  Fortunately Subversion does this
           for you and rarely will you need to concern yourself with
           it.  A brief example will help explain:</para>
+-->
+        <para>
+          <indexterm>
+            <primary>fusions</primary>
+            <secondary>fusions de sous-arborescences</secondary>
+          </indexterm>
+          <indexterm>
+            <primary>mergeinfo</primary>
+            <secondary>informations de fusion de sous-arborescences</secondary>
+          </indexterm>Dans la plupart des exemples de ce chapitre, la
+          cible de la fusion est le répertoire racine d'une branche
+          (voir <xref linkend="svn.branchmerge.whatis"/>).
+          Bien que ce soit une bonne pratique, vous aurez peut-être
+          l'occasion de devoir fusionner avec un enfant de la racine de
+          votre branche. Ce type de fusion est appelé une
+          <firstterm>fusion de sous-arborescence</firstterm> et les
+          informations de fusions (<quote>mergeinfo</quote>) stockées
+          pour décrire cela s'appellent les
+          <firstterm>informations de fusion de
+          sous-arborescence</firstterm> ou mergeinfo de
+          sous-arborecences. Il n'y a rien de particulier à signaler
+          pour les fusions de sous-arborescences et les mergeinfo de
+          sous-arborescences. En fait, il n'y a vraiment qu'un seul
+          point à retenir pour ces concepts : l'enregistrement
+          complet des fusions pour une branche peut ne pas être contenu
+          uniquement dans le mergeinfo de la racine de la branche. Vous
+          pouvez avoir à prendre en compte les mergeinfos des
+          sous-arborescences pour obtenir le décompte total.
+          Heureusement, Subversion le fait pour vous et vous n'aurez que
+          rarement l'occasion de vous en préoccuper personnellement. Un
+          court exemple vaut mieux qu'un long discours :</para>
 
+<!--
         <informalexample>
           <screen>
 # We need to merge r958 from trunk to branches/proj-X/doc/INSTALL,
 # but that revision also affects main.c, which we don't want to merge:
-$ svn log --verbose --quiet -r 958 ^/
-------------------------------------------------------------------------
+$ svn log - -verbose - -quiet -r 958 ^/
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 r958 | bruce | 2011-10-20 13:28:11 -0400 (Thu, 20 Oct 2011)
 Changed paths:
    M /trunk/doc/INSTALL
    M /trunk/src/main.c
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 # No problem, we'll do a subtree merge targeting the INSTALL file
 # directly, but first take a note of what mergeinfo exists on the
 # root of the branch:
 $ cd branches/proj-X
 
-$ svn propget svn:mergeinfo --recursive
+$ svn propget svn:mergeinfo - -recursive
 Properties on '.':
   svn:mergeinfo
     /trunk:651-652
@@ -1032,13 +2064,13 @@
 # Now we perform the subtree merge, note that merge source
 # and target both point to INSTALL:
 $ svn merge ^/trunk/doc/INSTALL doc/INSTALL -c 958
---- Merging r958 into 'doc/INSTALL':
+- - Merging r958 into 'doc/INSTALL':
 U    doc/INSTALL
---- Recording mergeinfo for merge of r958 into 'doc/INSTALL':
+- - Recording mergeinfo for merge of r958 into 'doc/INSTALL':
  G   doc/INSTALL
 
 # Once the merge is complete there is now subtree mergeinfo on INSTALL:
-$ svn propget svn:mergeinfo --recursive
+$ svn propget svn:mergeinfo - -recursive
 Properties on '.':
   svn:mergeinfo
     /trunk:651-652
@@ -1051,15 +2083,71 @@
 # branch, Subversion notices the subtree mergeinfo on INSTALL and doesn't
 # try to merge any changes to it, only the changes to main.c are merged:
 $ svn merge ^/subversion/trunk . -c 958
---- Merging r958 into '.':
+- - Merging r958 into '.':U    src/main.c
+- - Recording mergeinfo for merge of r958 into '.':
+ U   .
+- - Eliding mergeinfo from 'doc/INSTALL':
+ U   doc/INSTALL
+</screen>
+        </informalexample>
+-->
+        <informalexample>
+          <screen>
+# We devons fusionner r958 depuis le tronc vers branches/proj-X/doc/INSTALL,
+# mais cette révision touche aussi main.c, que nous ne voulons pas fusionner :
+$ svn log --verbose --quiet -r 958 ^/
+------------------------------------------------------------------------
+r958 | bruce | 2011-10-20 13:28:11 -0400 (jeu. 20 oct 2011)
+Chemins modifiés :
+   M /trunk/doc/INSTALL
+   M /trunk/src/main.c
+------------------------------------------------------------------------
+
+# Pas de problème, nous allons effectuer une fusion d'arborescence
+# directement sur le fichier INSTALL, mais d'abord notons les
+# informations de mergeinfo relatives à la racine de la branche :
+$ cd branches/proj-X
+
+$ svn propget svn:mergeinfo --recursive
+Propriétés sur '.'
+  svn:mergeinfo
+    /trunk:651-652
+
+# Maintenant nous effectuons la fusion d'arborescence.
+# Remarquez que la source et la destination de la fusion pointent sur INSTALL :
+$ svn merge ^/trunk/doc/INSTALL doc/INSTALL -c 958
+-- Fusion de r958 dans 'doc/INSTALL':
+U    doc/INSTALL
+-- Stockage des informations de fusion (mergeinfo) de r958 dans 'doc/INSTALL' :
+ G   doc/INSTALL
+
+# Une fois la fusion effectuée, l'information de fusion de l'arboresence
+# est disponible dans INSTALL :
+$ svn propget svn:mergeinfo --recursive
+Propriétés sur '.' :
+  svn:mergeinfo
+    /trunk:651-652
+Propriétés sur 'doc/INSTALL' :
+  svn:mergeinfo
+    /trunk/doc/INSTALL:651-652,958
+
+# Que se passe-t-il si nous décidons maintenant d'avoir l'intégralité de
+# r958 ? Facile, nous avons seulement à répéter l'opération de fusion
+# de cette révision, mais cette fois à la racine de la branche.
+# Subversion prend en compte les informations de fusion sur INSTALL et
+# n'essaie pas de fusionner quoi ce soit sur ce fichier ; seuls les
+# changements sur main.c sont fusionnés.
+$ svn merge ^/subversion/trunk . -c 958
+-- Fusion de r958 dans '.':
 U    src/main.c
---- Recording mergeinfo for merge of r958 into '.':
+-- Stockage des informations de fusion (mergeinfo) de r958 dans '.' :
  U   .
---- Eliding mergeinfo from 'doc/INSTALL':
+-- Nettoyage des informations de fusion (mergeinfo) de 'doc/INSTALL' :
  U   doc/INSTALL
 </screen>
         </informalexample>
 
+<!--
         <para>
           <indexterm>
             <primary>mergeinfo</primary>
@@ -1075,10 +2163,28 @@
           <quote>elided</quote>.  This is called
           <firstterm>mergeinfo elision</firstterm> and it occurs
           whenever Subversion detects redundant subtree mergeinfo.</para>
+-->
+        <para>
+          <indexterm>
+            <primary>mergeinfo</primary>
+            <secondary>nettoyage</secondary>
+          </indexterm>Vous devez vous demander pourquoi
+          <filename>INSTALL</filename> dans l'exemple ci-dessus possède
+          des informations de fusion pour r651-652 alors que nous
+          n'avons fusionné que r958. C'est en raison de l'héritage des
+          informations de fusion, que nous aborderons dans l'encart particulier
+          <xref linkend="svn.branchmerge.basicmerging.mergeinfo.inheritance"
+          />. Notez aussi que les informations de fusion de
+          l'arborescence ont été supprimées (ou <quote>nettoyées</quote>)
+          de <filename>doc/INSTALL</filename>. Ce
+          <firstterm>nettoyage des informations de fusion</firstterm> a
+          lieu quand Subversion détecte des informations
+          redondantes.</para>
 
       </sidebar>
 
       <tip>
+<!--
         <para>Prior to Subversion 1.7, merges unconditionally updated
           <emphasis>all</emphasis> of the subtree mergeinfo under the
           target to describe the merge. For users with a lot of subtree
@@ -1096,14 +2202,40 @@
           target; the merge target's mergeinfo is always updated to
           describe the merge, even if the applied difference made no
           changes.</para>
+-->
+        <para>Avant Subversion 1.7, les fusions mettaient à jour de
+          manière inconditionnelle les informations de fusion sous la
+          destination pour décrire la fusion. Pour les utilisateurs qui
+          ont beaucoup d'informations de fusion sur leurs arborescences,
+          cela voulait dire que même des fusions relativement
+          <quote>simles</quote> (par exemple une fusion qui ne concerne
+          qu'un seul fichier) impliquaient des modifications de
+          mergeinfo dans toutes les sous-arborescences, y compris celles
+          qui n'avaient pas de lien de parenté avec le(s) chemin(s)
+          concerné(s). Cela engendrait de la confusion et de la
+          frustration. Subversion 1.7 et suivants répondent à ce
+          problème en ne mettant à jour que les informations de fusion
+          des arborescences qui ont des liens de parenté avec les
+          chemins modifiés par la fusion (c'est-à-dire les chemins
+          modifiés, ajoutés ou supprimés par application d'un
+          changement, voir
+          <xref linkend="svn.branchmerge.advanced.advancedsyntax"/>).
+          La cible de la fusion fait exception à ce comportement ;
+          les informations de fusion de la cible de fusion sont toujours
+          mises à jour décrire la fusion, même si l'application de la
+          fusion ne produit aucun changement.</para>
       </tip>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.basicmerging.reintegrate">
+<!--
       <title>Reintegrating a Branch</title>
+-->
+      <title>Réintegration d'une branche</title>
 
+<!--
       <para>What happens when you finally finish your work, though?
         Your new feature is done, and you're ready to merge your
         branch changes back to the trunk (so your team can enjoy the
@@ -1117,17 +2249,35 @@
         branch is effectively synced, then why are you doing subtree
         merges? Doing so is almost always needlessly
         complex.</para></footnote>:</para>
+-->
+      <para>Que se passe-t-il quand vous finissez enfin votre
+        travail ? Votre nouvelle fonctionnalité est
+        terminée et vous êtes prêt à fusionner les changements de
+        votre branche avec le tronc (pour que votre équipe puisse
+        bénéficier du fruit de votre travail). La procédure est
+        simple. Premièrement, synchronisez à nouveau votre branche
+        avec le tronc, comme vous le faites depuis le
+        début <footnote><para>Depuis Subversion 1.7 vous n'avez pas
+        absolument besoin de resynchroniser complètement votre branche
+        avec le tronc comme nous le faisons dans cet exemple.
+        <emphasis>Si</emphasis> votre branche est effectivement
+        synchronisée par une série de fusions d'arborescences alors
+        la réintégration fonctionnera, mais demandez-vous, si la branche
+        est effectivement synchronisée, pourquoi effectuez-vous des
+        fusions d'arborescences ? Le faire est pratiquement
+        toujours inutilement complexe.</para></footnote></para>
 
       <informalexample>
         <screen>
+<!--
 $ svn up # (make sure the working copy is up to date)
 Updating '.':
 At revision 378.
 
 $ svn merge ^/calc/trunk
---- Merging r362 through r378 into '.':
+- - Merging r362 through r378 into '.':
 U    src/main.c
---- Recording mergeinfo for merge of r362 through r378 into '.':
+- - Recording mergeinfo for merge of r362 through r378 into '.':
  U   .
 
 $ # build, test, ...
@@ -1137,9 +2287,28 @@
 Sending        src/main.c
 Transmitting file data .
 Committed revision 379.
+-->
+$ svn up # (pour être sûr que la copie de travail est à jour)
+Mise à jour de '.' :
+À la révision 378.
+
+$ svn merge ^/calc/trunk
+--- Fusion de r362 à r378 dans '.':
+U    src/main.c
+--- Stockage des informations de fusion (mergeinfo) de r381 à r385 dans '.' :
+ U   .
+
+$ # compiler, tester, ...
+
+$ svn commit -m "Fusion finale des modifications du tronc dans ma-branche-calc."
+Envoi              .
+Envoi              src/main.c
+Transmission des données .
+Révision 379 propagée.
 </screen>
       </informalexample>
 
+<!--
       <para>Now, use <command>svn merge</command> subcommand to automatically
         replicate your branch changes back into the trunk.  This type of
         merge is called an
@@ -1152,45 +2321,97 @@
         working copy from somewhere on your disk, or
         using <command>svn switch</command> (see
         <xref linkend="svn.branchmerge.switchwc" />).</para>
+-->
+      <para>À présent, utilisez la sous-commande
+        <command>svn merge</command> pour répercuter automatiquement les
+        modifications de votre branche sur le tronc. Ce type de fusion
+        est appelée
+        <indexterm>
+          <primary>fusions</primary>
+          <secondary>fusion de réintégration</secondary>
+        </indexterm>une fusion de <quote>réintégration
+        automatique</quote>. Vous aurez besoin d'une copie de travail de
+        <filename>/calc/trunk</filename>. Vous pouvez vous la procurer
+        soit en effectuant un <command>svn checkout</command>, soit en
+        reprenant une vieille copie de travail du tronc, soit en
+        utilisant <command>svn switch</command> (voir
+        <xref linkend="svn.branchmerge.switchwc" />).</para>
 
       <tip>
+<!--
         <para>The term <quote>reintegrating</quote> comes from the
-          <command>merge</command> option <option>--reintegrate</option>.
+          <command>merge</command> option <option>- -reintegrate</option>.
           This option is deprecated in Subversion 1.8 (which automatically
           detects when a reintegrate merge is needed), but is required
           for Subversion 1.5 through 1.7 clients when performing reintegrate
           merges.</para>
+-->
+        <para>Le terme <quote>réintégration</quote> provient de l'option
+          <option>--reintegrate</option> de la sous-commande
+          <command>merge</command>. Cette option est obsolète dans
+          Subversion 1.8 (qui détecte automatiquement quand une fusion
+          de réintégration est nécessaire), mais elle est demandée par
+          les clients des versions 1.5 à 1.7 de Subversion lorsque vous
+          effectuez des fusions de réintégration.</para>
       </tip>
 
+<!--
       <para>Your trunk working copy cannot have any local edits, switched
         paths, or contain a mixture of revisions (see
         <xref linkend="svn.basic.in-action.mixedrevs" />).  While
         these are typically best practices for merging anyway, they
         are <emphasis>required</emphasis> for automatic reintegrate
         merges.</para>
+-->
 
+      <para>Votre copie de travail du tronc ne doit avoir aucune
+        modification locale, chemin déportés
+        (<foreignphrase>switched</foreignphrase> en anglais) et ne pas
+        comporter de mélange de révisions (voir <xref
+        linkend="svn.basic.in-action.mixedrevs" />). Bien que ce soient de
+        bonnes pratiques pour les fusions de toute façon, c'est
+        particulièrement <emphasis>obligatoire</emphasis> pour une fusion de
+        réintégration automatique.</para>
+
+<!--
       <para>Once you have a clean working copy of the trunk, you're
         ready to merge your branch back into it:</para>
+-->
+      <para>Une fois que vous avez une copie de travail propre du tronc,
+        vous êtes prêt pour y fusionner votre branche :</para>
 
       <informalexample>
         <screen>
-$ pwd
-/home/user/calc-trunk
+$ pwd<!--
+/home/user/calc-trunk-->
+/home/utilisateur/calc-trunk
 
-$ svn update
+$ svn update<!--
 Updating '.':
 At revision 379.
+-->
+Mise à jour '.' :
+À la révision 390.
 
+<!--
 $ svn merge ^/calc/branches/my-calc-branch
---- Merging differences between repository URLs into '.':
+- - Merging differences between repository URLs into '.':
 U    src/real.c
+-->
+$ svn merge ^/calc/branches/ma-branche-calc
+--- Fusion des différences des URLs du dépôt vers '.' :
+U    src/reel.c
 U    src/main.c
-U    Makefile
---- Recording mergeinfo for merge between repository URLs into '.':
+U    Makefile <!--
+- - Recording mergeinfo for merge between repository URLs into '.':
+-->
+-- Stockage des informations de fusion (mergeinfo) des URLs du dépôt vers '.' :
  U   .
-
+<!--
 $ # build, test, verify, ...
-
+-->
+$ # compiler, tester, vérifier, ...
+<!--
 $ svn commit -m "Merge my-calc-branch back into trunk!"
 Sending        .
 Sending        Makefile
@@ -1198,9 +2419,18 @@
 Sending        src/real.c
 Transmitting file data ...
 Committed revision 380.
+-->
+$ svn commit -m "ma-branche-calc réintégrée dans le tronc !"
+Envoi          .
+Envoi          Makefile
+Envoi          src/main.c
+Envoi          src/reel.c
+Transmission des données ...
+Révision 380 propagée.
 </screen>
       </informalexample>
 
+<!--
       <para>Congratulations, your branch-specific changes have now
         been merged back into the main line of development.  Notice that
         the automatic reintegrate merge did a different sort of work than
@@ -1216,7 +2446,25 @@
         later on, it continues by merging the next contiguously
         available range, 351:361.  When doing the final sync, it
         merges the range 361:378.</para>
+-->
+      <para>Félicitations, votre branche a maintenant réintégré la
+        ligne de développement principale. Notez que la fusion de
+        réintégration automatique a effectué un travail différent de ce
+        que vous avez fait jusqu'à maintenant. Auparavant, nous
+        demandions à <command>svn merge</command> de récupérer le
+        <quote>prochain lot de modifications</quote> d'une ligne de
+        développement (le tronc en l'occurence) et de l'appliquer à une
+        autre (votre branche). C'est assez simple à réaliser et à chaque
+        fois Subversion sait reprendre là où il s'était arrêté. Dans
+        nos exemples précédents, vous pouvez constater qu'il fusionne en
+        premier les modifications 341:351 de
+        <filename>/calc/trunk</filename> vers
+        <filename>/calc/branches/ma-branche-calc</filename> ;
+        ensuite il continue en fusionnant l'intervalle
+        immédiatement suivant, 351:361. Quand il effectue la
+        synchronisation finale, il fusionne l'intervalle 361:378.</para>
 
+<!--
       <para>When merging <filename>/calc/branches/my-calc-branch</filename>
         back to the <filename>/calc/trunk</filename>, however, the
         underlying mathematics are quite different.  Your feature
@@ -1228,7 +2476,23 @@
         this by comparing the latest trunk tree with the latest branch
         tree:  the resulting difference is exactly your branch
         changes!)</para>
+-->
+      <para>Cependant, quand il fusionne
+        <filename>/calc/branches/ma-branche-calc</filename>
+        vers <filename>/calc/trunk</filename>, la logique sous-jacente
+        est assez différente. Votre branche dédiée est à présent un
+        amoncellement de modifications provenant à la fois du tronc
+        et de votre branche privée et il n'y a donc pas d'intervalle
+        de révisions contigues à recopier. En utilisant la fusion
+        automatique, vous demandez à Subversion de ne recopier
+        <emphasis>que</emphasis> les modifications spécifiques à votre
+        branche (et en fait il le fait en comparant la version la plus
+        récente de l'arborescence du tronc avec la version la plus
+        récente de l'arborescence de la branche :
+        la différence qui en résulte constitue exactement les
+        modifications de votre branche !).</para>
 
+<!--
       <para>Keep in mind that the automatic reintegrate merges only support
         the use case described above.  Because of this narrow focus, in

@@ Diff output truncated at 100000 characters. @@



More information about the svnbook-dev mailing list