[svnbook] r3704 committed - Translation to French of Appendix B : done.
svnbook at googlecode.com
svnbook at googlecode.com
Mon Mar 8 14:10:13 CST 2010
Revision: 3704
Author: christophe.nanteuil
Date: Mon Mar 8 12:09:20 2010
Log: Translation to French of Appendix B : done.
http://code.google.com/p/svnbook/source/detail?r=3704
Modified:
/trunk/src/fr/book/appb-svn-for-cvs-users.xml
=======================================
--- /trunk/src/fr/book/appb-svn-for-cvs-users.xml Wed Sep 3 22:38:31 2008
+++ /trunk/src/fr/book/appb-svn-for-cvs-users.xml Mon Mar 8 12:09:20 2010
@@ -1,64 +1,71 @@
<appendix id="svn.forcvs">
- <title>Subversion for CVS Users</title>
-
- <para>This appendix is a guide for CVS users new to Subversion.
- It's essentially a list of differences between the two systems
- as <quote>viewed from 10,000 feet.</quote> For each section, we
- provide references to relevant chapters when
- possible.</para>
-
- <para>Although the goal of Subversion is to take over the current
- and future CVS user base, some new features and design changes
- were required to fix certain <quote>broken</quote> behaviors
- that CVS had. This means that, as a CVS user, you may need to
- break habits—ones that you forgot were odd to begin
- with.</para>
+ <title>Guide Subversion à l'usage des utilisateurs de CVS</title>
+
+ <para>Cet appendice est un guide pour les utilisateurs de CVS qui
+ découvrent Subversion. Il est essentiellement constitué d'une liste
+ de différences, <quote>au doigt mouillé</quote>, entre les deux
+ systèmes. Pour chaque section, nous fournissons autant que possible
+ les références des chapitres pertinents.</para>
+
+ <para>Bien que le but de Subversion soit de s'emparer de la communauté
+ des utilisateurs actuels et futurs de CVS, de nouvelles
+ fonctionnalités et des changements conceptuels étaient nécessaires
+ pour corriger certains comportements <quote>malencontreux</quote>
+ de CVS. Cela signifie que, en tant qu'utilisateur de CVS, vous
+ devrez vous défaire de certaines habitudes — celles dont vous
+ avez oublié combien elles vous semblaient bizarres au début.</para>
<!-- =================================================================
-->
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.revnums">
- <title>Revision Numbers Are Different Now</title>
-
- <para>In CVS, revision numbers are per file. This is because CVS
- stores its data in RCS files; each file has a corresponding RCS
- file in the repository, and the repository is roughly laid out
- according to the structure of your project tree.</para>
-
- <para>In Subversion, the repository looks like a single
- filesystem. Each commit results in an entirely new filesystem
- tree; in essence, the repository is an array of trees. Each of
- these trees is labeled with a single revision number. When
- someone talks about <quote>revision 54</quote>, he's talking
- about a particular tree (and indirectly, the way the filesystem
- looked after the 54th commit).</para>
-
- <para>Technically, it's not valid to talk about <quote>revision 5
- of <filename>foo.c</filename>.</quote> Instead, one would say
- <quote><filename>foo.c</filename> as it appears in revision
- 5.</quote> Also, be careful when making assumptions about the
- evolution of a file. In CVS, revisions 5 and 6 of
- <filename>foo.c</filename> are always different. In Subversion,
- it's most likely that <filename>foo.c</filename> did
- <emphasis>not</emphasis> change between revisions 5 and
+ <title>Les numéros de révisions sont différents</title>
+
+ <para>Dans CVS, les numéros de révisions sont associés à un fichier.
+ Ceci est du au fait que CVS stocke ses données dans des fichiers
+ RCS ; à chaque fichier est associé un fichier RCS dans le
+ dépôt et la structure du dépôt correspond plus ou moins à
+ l'arborescence de votre projet.</para>
+
+ <para>Dans Subversion, le dépôt ressemble à un système de fichiers
+ unique. Chaque propagation conduit à un système de fichiers
+ entièrement nouveau ; au fond, le dépôt est un tableau
+ d'arborescences de fichiers. Chacune de ces arborescences est
+ étiquetée avec un numéro de révision. Quand quelqu'un parle de la
+ <quote>révision 54</quote>, il parle d'une arborescence
+ particulière (et indirectement, de l'état du système de fichiers
+ après la cinquante-quatrième propagation).</para>
+
+ <para>Techniquement, il n'est pas correct de parler de
+ <quote>la révision 5 du fichier
<filename>machin.c</filename></quote>.
+ À la place, on devrait dire <quote><filename>machin.c</filename>
+ tel qu'il était en révision 5</quote>. Soyez également prudent
+ quand vous faites des suppositions sur les évolutions d'un
+ fichier. Dans CVS, les révisions 5 et 6 de
+ <filename>machin.c</filename> sont toujours différentes. Dans
+ Subversion, le plus probable est que <filename>machin.c</filename>
+ <emphasis>n'a pas changé</emphasis> entre les révisions 5 et
6.</para>
- <para>Similarly, in CVS, a tag or branch is an annotation on the
- file or on the version information for that individual file,
- whereas in Subversion, a tag or branch is a copy of an entire
- tree (by convention, into the <filename>/branches</filename>
- or <filename>/tags</filename> directories that appear at the top
- level of the repository, beside <filename>/trunk</filename>). In
- the repository as a whole, many versions of each file may be
- visible: the latest version on each branch, every tagged
- version, and of course the latest version on the trunk
- itself. So, to refine the terms even further, one would often
- say <quote><filename>foo.c</filename> as it appears in
- <filename>/branches/REL1</filename> in revision
+ <para>De la même manière, dans CVS, une étiquette et une branche
+ sont des annotations sur un fichier ou sur l'information de
+ version de ce fichier. En revanche, dans Subversion, une branche
+ ou une étiquette sont des copies complètes d'une arborescence
+ (situées respectivement par convention dans les répertoires
+ <filename>/branches</filename> et <filename>/tags</filename> qui
+ se trouvent à la racine de l'arborescence du dépôt, à côté de
+ <filename>/trunk</filename>). Dans l'ensemble du dépôt, plusieurs
+ versions de chaque fichier peuvent être visibles : la
+ dernière version à l'intérieur de chaque branche, la version au
+ sein de chaque étiquette et, bien sûr, la dernière version dans le
+ tronc lui-même (sous <filename>/trunk</filename>). Ainsi, pour
+ être vraiment précis, il convient de dire
+ <quote><filename>machin.c</filename> tel qu'il était dans
+ <filename>/branches/IDEE1</filename> à la révision
5.</quote></para>
- <para>For more details on this topic, see <xref
+ <para>Pour plus de détails sur ce sujet, consultez <xref
linkend="svn.basic.in-action.revs" />.</para>
</sect1>
@@ -67,72 +74,84 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.directories">
- <title>Directory Versions</title>
-
- <para>Subversion tracks tree structures, not just file contents.
- It's one of the biggest reasons Subversion was written to
- replace CVS.</para>
-
- <para>Here's what this means to you, as a former CVS user:</para>
+ <title>Suivi de versions des répertoires</title>
+
+ <para>Subversion assure le suivi de l'arborescence entière, pas
+ seulement des fichiers. C'est une des raisons majeures pour
+ lesquelles Subversion a été créé, dans le but de se substituer
+ à CVS.</para>
+
+ <para>Voilà ce que cela implique, du point de vue d'un ancien
+ utilisateur de CVS :</para>
<itemizedlist>
<listitem>
- <para>The <command>svn add</command> and <command>svn
- delete</command> commands work on directories now, just as
- they work on files. So do <command>svn copy</command> and
- <command>svn move</command>. However, these commands do
- <emphasis>not</emphasis> cause any kind of immediate change
- in the repository. Instead, the working items are simply
- <quote>scheduled</quote> for addition or deletion. No
- repository changes happen until you run <userinput>svn
- commit</userinput>.</para>
+ <para>Les commandes <command>svn add</command> et <command>svn
+ delete</command> fonctionnent désormais aussi sur les
+ répertoires, de la même manière que sur les fichiers. Idem
+ pour <command>svn copy</command> et
+ <command>svn move</command>. Cependant, ces commandes n'ont
+ pas d'effet immédiat sur le dépôt ; en effet, elles ne
+ font que <emphasis>planifier</emphasis> l'ajout ou la
+ suppression des éléments concernés. Aucun changement n'a lieu
+ dans le dépôt tant que vous n'avez pas effectué de propagation
+ (commande <userinput>svn commit</userinput>).</para>
</listitem>
<listitem>
- <para>Directories aren't dumb containers anymore; they have
- revision numbers like files. (Or more properly, it's
- correct to talk about <quote>directory
- <filename>foo/</filename> in revision 5.</quote>)</para>
+ <para>Les répertoires ne sont plus de simples conteneurs ;
+ ils possèdent un numéro de révision tout comme les fichiers
+ (ou pour être plus précis, il faut parler du <quote>répertoire
+ <filename>machin/</filename> tel qu'il était à la révision
+ 5</quote>).</para>
</listitem>
</itemizedlist>
- <para>Let's talk more about that last point. Directory versioning
- is a hard problem; because we want to allow mixed-revision
- working copies, there are some limitations on how far we can
- abuse this model.</para>
-
- <para>From a theoretical point of view, we define <quote>revision
- 5 of directory <filename>foo</filename></quote> to mean a
- specific collection of directory entries and properties. Now
- suppose we start adding and removing files from
- <filename>foo</filename>, and then commit. It would be a lie
- to say that we still have revision 5 of
- <filename>foo</filename>. However, if we bumped
- <filename>foo</filename>'s revision number after the commit,
- that would be a lie too; there may be other changes to
- <filename>foo</filename> we haven't yet received, because we
- haven't updated yet.</para>
-
- <para>Subversion deals with this problem by quietly tracking
- committed adds and deletes in the <filename>.svn</filename>
- area. When you eventually run <userinput>svn update</userinput>,
- all accounts are settled with the repository, and the
- directory's new revision number is set correctly.
- <emphasis>Therefore, only after an update is it truly safe to
- say that you have a <quote>perfect</quote> revision of a
- directory.</emphasis> Most of the time, your working copy will
- contain <quote>imperfect</quote> directory revisions.</para>
-
- <para>Similarly, a problem arises if you attempt to commit
- property changes on a directory. Normally, the commit would
- bump the working directory's local revision number. But again,
- that would be a lie, as there may be adds or deletes that
- the directory doesn't yet have, because no update has happened.
- <emphasis>Therefore, you are not allowed to commit
- property changes on a directory unless the directory is
- up to date.</emphasis></para>
-
- <para>For more discussion about the limitations of directory
- versioning, see <xref
linkend="svn.basic.in-action.mixedrevs"/>.</para>
+ <para>Approfondissons ce dernier point. Le suivi en versions d'un
+ répertoire est un problème difficile ; comme nous voulons
+ autoriser des copies de travail à cheval sur plusieurs révisions,
+ des limitations apparaissent quand on essaie de pousser le modèle
+ trop loin.</para>
+
+ <para>D'un point de vue théorique, nous définissons <quote>la
+ révision 5 du répertoire <filename>machin</filename></quote> comme
+ un ensemble d'entrées et de propriétés du répertoire. Maintenant,
+ supposons que nous ajoutons et supprimons des fichiers de
+ <filename>machin</filename>, puis que nous propageons ces
+ modifications. Dire que nous avons toujours la révision 5 de
+ <filename>machin</filename> est un mensonge. Cependant, si nous
+ changeons le numéro de révision de
+ <filename>machin</filename> après la propagation, c'est aussi un
+ mensonge ; il peut y avoir d'autres changements sur
+ <filename>machin</filename> que nous n'avons pas encore reçus
+ parce que nous n'avons pas encore effectué de mise à jour
+ (commande <command>svn update</command>).</para>
+
+ <para>Subversion traite ce problème en conservant discrètement, dans
+ la zone <filename>.svn</filename>, le détail des ajouts et des
+ suppressions propagés. Par la suite, quand vous lancez
+ <userinput>svn update</userinput>, ces informations sont prises en
+ compte et combinées avec celles du dépôt, et le nouveau numéro de
+ révision du répertoire est alors positionné correctement. Ainsi,
+ <emphasis> c'est seulement après une mise à jour que vous pouvez
+ affirmer, sans risque de vous tromper, que vous disposez d'une
+ révision <quote>parfaite</quote> d'un répertoire.</emphasis>
+ La plupart du temps, votre copie de travail contient des
+ répertoires <quote>imparfaitement</quote> synchronisés.</para>
+
+ <para>De la même manière, un problème survient si vous essayez de
+ propager des modifications de propriétés sur un répertoire.
+ Normalement, la propagation devrait ajuster le numéro de révision
+ du répertoire de la copie de travail locale. Mais là encore, ce
+ serait un mensonge puisqu'il peut y avoir des ajouts et des
+ suppressions que le répertoire n'a pas encore reçu en raison de la
+ mise à jour qui n'a pas encore eu lieu.
+ <emphasis>En conséquence, il n'est pas permis de propager des
+ changements sur les propriétés d'un répertoire sans que ce
+ répertoire ne soit préalablement mis à jour.</emphasis></para>
+
+ <para>Pour plus d'informations sur les limitations du suivi en
+ versions des répertoires, reportez-vous à <xref
+ linkend="svn.basic.in-action.mixedrevs"/>.</para>
</sect1>
@@ -141,58 +160,60 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.disconnected">
- <title>More Disconnected Operations</title>
-
- <para>In recent years, disk space has become outrageously cheap
- and abundant, but network bandwidth has not. Therefore, the
- Subversion working copy has been optimized around the scarcer
- resource.</para>
-
- <para>The <filename>.svn</filename> administrative directory
- serves the same purpose as the <filename>CVS</filename>
- directory, except that it also stores read-only,
- <quote>pristine</quote> copies of your files. This allows you
- to do many things offline:</para>
+ <title>Davantage d'opérations en mode déconnecté</title>
+
+ <para>Ces dernières années, l'espace de stockage sur disques est
+ devenu outrageusement bon marché et abondant, alors que ce n'est
+ pas le cas pour la bande passante disponible sur le réseau. En
+ conséquence, les copies de travail Subversion ont été optimisées
+ pour économiser la ressource la plus rare.</para>
+
+ <para>Le répertoire administratif <filename>.svn</filename> a le
+ même objectif que le répertoire <filename>CVS</filename>, à la
+ différence près qu'il stocke également des copies
+ <quote>originales</quote> en lecture seule de vos fichiers. Ceci
+ permet beaucoup d'opérations sans connexion réseau :</para>
<variablelist>
<varlistentry>
<term><command>svn status</command></term>
<listitem>
- <para>Shows you any local changes you've made (see <xref
- linkend="svn.tour.cycle.examine.status"/>)</para>
+ <para>liste les modifications locales que vous avez apportées
(voir <xref
+ linkend="svn.tour.cycle.examine.status"/>) ;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>svn diff</command></term>
<listitem>
- <para>Shows you the details of your changes (see <xref
- linkend="svn.tour.cycle.examine.diff"/>)</para>
+ <para>donne le détail de vos modifications (voir <xref
+ linkend="svn.tour.cycle.examine.diff"/>) ;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>svn revert</command></term>
<listitem>
- <para>Removes your local changes (see <xref
- linkend="svn.tour.cycle.revert"/>)</para>
+ <para>supprime vos modifications locales (voir <xref
+ linkend="svn.tour.cycle.revert"/>).</para>
</listitem>
</varlistentry>
</variablelist>
- <para>Also, the cached pristine files allow the Subversion client
- to send differences when committing, which CVS cannot do.</para>
-
- <para>The last subcommand in the list—<command>svn
- revert</command>—is new. It will not only remove local
- changes, but also unschedule operations such as adds and
- deletes. Although deleting the file and then running <userinput>svn
- update</userinput> will still work, doing so distorts the true
- purpose of updating. And, while we're on this subject…
-
- </para>
+ <para>Par ailleurs, les fichiers originaux en cache permettent au
+ client Subversion de n'envoyer que les différences au moment de la
+ propagation, ce que CVS ne peut pas faire.</para>
+
+ <para>La dernière sous-commande de la liste (<command>svn
+ revert</command>) est nouvelle. Elle supprime non seulement les
+ modifications locales mais aussi annule les opérations planifiées
+ telles que les ajouts et les suppressions. Bien que supprimer le
+ fichier puis lancer <userinput>svn
+ update</userinput> fonctionne toujours, cette méthode détourne la
+ mise à jour de sa vocation. Et puis, tant que nous y
+ sommes…</para>
</sect1>
@@ -200,96 +221,101 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.status-vs-update">
- <title>Distinction Between Status and Update</title>
-
- <para>Subversion attempts to erase a lot of the confusion
- between the <command>cvs status</command> and
- <command>cvs update</command> commands.</para>
-
- <para>The <command>cvs status</command> command has two purposes:
- first, to show the user any local modifications in the working
- copy, and second, to show the user which files are out of date.
- Unfortunately, because of CVS's hard-to-read status output, many
- CVS users don't take advantage of this command at all. Instead,
- they've developed a habit of running <userinput>cvs
- update</userinput> or <userinput>cvs -n update</userinput> to quickly
- see their changes. If users forget to use
- the <option>-n</option> option, this has the side effect of
- merging repository changes they may not be ready to deal
- with.</para>
-
- <para>Subversion removes this muddle by making the output of
- <command>svn status</command> easy to read for both humans and
- parsers. Also, <command>svn update</command> prints only
- information about files that are updated,
- <emphasis>not</emphasis> local modifications.</para>
+ <title>Distinction entre les commandes status et update</title>
+
+ <para>Subversion essaie de dissiper la confusion qui règne entre les
+ commandes <command>cvs status</command> et
+ <command>cvs update</command>.</para>
+
+ <para>La commande <command>cvs status</command> a deux
+ objectifs : d'abord, lister pour l'utilisateur les
+ modifications locales de la version de travail et, ensuite,
+ indiquer à l'utilisateur quels fichiers ne sont plus à jour.
+ Malheureusement, en raison de l'affichage peu lisible de la
+ commande <userinput>cvs update</userinput>, beaucoup
+ d'utilisateurs de CVS n'utilisent plus cette commande. À la place,
+ ils ont pris l'habitude de lancer <userinput>cvs update</userinput>
+ ou <userinput>cvs -n update</userinput> pour visualiser leurs
+ changements rapidement. Si les utilisateurs oublient d'utiliser
+ l'option <option>-n</option>, cela a pour effet de bord de
+ fusionner des changements du dépôt qu'ils ne sont pas forcément
+ prêts à prendre en compte.</para>
+
+ <para>Subversion supprime ce cafouillage en facilitant la lecture de
+ <command>svn status</command> à la fois pour les humains et pour
+ les programmes d'analyse de texte. De plus, <command>svn
+ update</command> n'affiche que les informations relatives aux
+ fichiers qui ont été mis à jour côté dépôt,
+ <emphasis>pas les modifications locales</emphasis>.</para>
<sect2 id="svn.forcvs.status-vs-update.status">
- <title>Status</title>
-
- <para><command>svn status</command> prints all files that have
- local modifications. By default, the repository is not
- contacted. While this subcommand accepts a fair number of
- options, the following are the most commonly used ones:</para>
+ <title>svn status</title>
+
+ <para>La commande <command>svn status</command> liste tous les
+ fichiers qui ont des modifications locales. Par défaut, le dépôt
+ n'est pas contacté. Bien que cette sous-commande accepte un bon
+ nombre d'options, voici les plus utilisées :</para>
<variablelist>
<varlistentry>
<term><option>-u</option></term>
<listitem>
- <para>Contact the repository to determine, and then display,
- out-of-dateness information.</para>
+ <para>contacte le dépôt pour déterminer et lister les
+ informations de mise à jour ;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem>
- <para>Show <emphasis>all</emphasis> entries under
- version control.</para>
+ <para>liste <emphasis>tous les éléments</emphasis> soumis au
+ suivi de versions ;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-N</option></term>
<listitem>
- <para>Run nonrecursively (do not descend into
- subdirectories).</para>
+ <para>exécution non récursive (ne pas descendre dans les
+ sous-répertoires).</para>
</listitem>
</varlistentry>
</variablelist>
- <para>The <command>svn status</command> command has two output
- formats. In the default <quote>short</quote> format, local
- modifications look like this:</para>
+ <para>La commande <command>svn status</command> possède deux
+ formats de sortie. Dans le mode <quote>court</quote> mode par
+ défaut, les modifications locales sont présentées comme
+ ceci :</para>
<screen>
$ svn status
-M foo.c
-M bar/baz.c
+M machin.c
+M truc/bidule.c
</screen>
- <para>If you specify the <option>--show-updates</option>
- (<option>-u</option>) option, a longer output format is
- used:</para>
+ <para>Si vous spécifiez l'option <option>--show-updates</option>
+ (<option>-u</option>), un format d'affichage plus long sera
+ utilisé :</para>
<screen>
$ svn status -u
-M 1047 foo.c
- * 1045 faces.html
- * bloo.png
-M 1050 bar/baz.c
-Status against revision: 1066
+M 1047 machin.c
+ * 1045 tetes.html
+ * dessin.png
+M 1050 truc/bidule.c
+État par rapport à la révision 1066
</screen>
- <para>In this case, two new columns appear. The second column
- contains an asterisk if the file or directory is out of date.
- The third column shows the working copy's revision number of the
- item. In the previous example, the asterisk indicates that
- <filename>faces.html</filename> would be patched if we updated,
- and that <filename>bloo.png</filename> is a newly added file in
- the repository. (The absence of any revision number next to
- <filename>bloo.png</filename> means that it doesn't yet exist in
- the working copy.)</para>
+ <para>Dans ce cas, deux nouvelles colonnes font leur apparition.
+ La deuxième colonne contient une astérisque si le fichier ou le
+ répertoire n'est plus à jour. La troisième colonne contient le
+ numéro de révision de la copie de travail pour l'élément
+ considéré. Dans l'exemple précédent, l'astérisque indique que
+ <filename>tetes.html</filename> serait modifié lors d'une mise à
+ jour et que <filename>dessin.png</filename> est un nouveau
+ fichier dans le dépôt (l'absence d'un numéro de révision pour
+ <filename>dessin.png</filename>indique qu'il n'existe pas dans
+ la copie de travail locale).</para>
<!-- ###TODO describe -v here as well as -uv. -u and -v use
different <quote>long</quote> formats and need to be
@@ -299,43 +325,46 @@
paragraph *is* about -u, not -v, my patch concentrated on
that. -->
- <para>At this point, you should take a quick look at the list of
- all possible status codes in
- <xref linkend="svn.ref.svn.c.status"/>. Here are a few of the
- more common status codes you'll see:</para>
+ <para>Vous devriez maintenant jeter un oeil à la liste des codes
+ d'état possibles de <xref linkend="svn.ref.svn.c.status"/>.
+ Voici quelques codes d'état courants que vous
+ rencontrerez :</para>
<screen>
-A Resource is scheduled for Addition
-D Resource is scheduled for Deletion
-M Resource has local Modifications
-C Resource has Conflicts (changes have not been completely merged
- between the repository and working copy version)
-X Resource is eXternal to this working copy (may come from another
- repository). See <xref linkend="svn.advanced.externals" />
-? Resource is not under version control
-! Resource is missing or incomplete (removed by a tool other than
+A L'Ajout de l'élément est planifié
+D La suppression de l'élément est planifiée
+M L'élément a été Modifié localement
+C L'élément est en Conflit (les changements n'ont pas été complètement
+ fusionnés entre la version du dépôt et la version de la copie de
travail)
+X L'élément est eXterne à cette copie de travail (il vient peut-être
+ d'un autre dépôt). Voir <xref linkend="svn.advanced.externals" />
+? L'élément n'est pas suivi en versions
+! L'élément est manquant ou incomplet (supprimé par un moyen autre que
Subversion)
</screen>
- <para>For a more detailed discussion of <command>svn
- status</command>, see <xref
linkend="svn.tour.cycle.examine.status" />.</para>
+ <para>Pour plus de détails sur la commande <command>svn
+ status</command>, consultez <xref
+ linkend="svn.tour.cycle.examine.status" />.</para>
</sect2>
<sect2 id="svn.forcvs.status-vs-update.update">
- <title>Update</title>
-
- <para><command>svn update</command> updates your working copy,
- and prints only information about files that it updates.</para>
-
- <para>Subversion has combined CVS's <literal>P</literal> and
- <literal>U</literal> codes into just <literal>U</literal>. When
- a merge or conflict occurs, Subversion simply prints
- <literal>G</literal> or <literal>C</literal>, rather than a
- whole sentence about it.</para>
-
- <para>For a more detailed discussion of <command>svn
- update</command>, see <xref linkend="svn.tour.cycle.update"
/>.</para>
+ <title>svn update</title>
+
+ <para>La commande <command>svn update</command> met à jour votre
+ copie de travail et n'affiche que les informations relatives aux
+ fichiers qui ont été mis à jour.</para>
+
+ <para>Subversion combine les codes CVS <literal>P</literal> et
+ <literal>U</literal> dans le seul code <literal>U</literal>.
+ Quand une fusion ou un conflit apparaît, Subversion se contente
+ d'afficher <literal>G</literal> ou <literal>C</literal>, plutôt
+ qu'une phrase complète, pour indiquer ce qui se passe.</para>
+
+ <para>Pour plus d'informations sur <command>svn
+ update</command>, reportez-vous à <xref
+ linkend="svn.tour.cycle.update" />.</para>
</sect2>
@@ -345,29 +374,30 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.branches-and-tags">
- <title>Branches and Tags</title>
-
- <para>Subversion doesn't distinguish between filesystem space and
- <quote>branch</quote> space; branches and tags are ordinary
- directories within the filesystem. This is probably the single
- biggest mental hurdle that a CVS user will need to cross. Read
- all about it in <xref linkend="svn.branchmerge"/>.</para>
+ <title>Branches et étiquettes</title>
+
+ <para>Subversion ne fait pas de différence entre l'espace du système
+ de fichiers et l'espace des branches ; les branches et les
+ étiquettes sont de simples répertoires du système de fichiers.
+ C'est probablement l'obstacle psychologique le plus important que
+ les utilisateurs de CVS doivent franchir. Pour tout savoir sur ce
+ sujet, rendez-vous au <xref linkend="svn.branchmerge"/>.</para>
<warning>
- <para>Since Subversion treats branches and tags as ordinary
- directories, your project's various lines of development
- probably live in subdirectories of the main project directory.
- So remember to check out using the URL of the subdirectory
- that contains the particular line of development you want, not
- the project's root URL. If you make the mistake of checking
- out the root of the project, you may very well wind up with a
- working copy that contains a complete copy of your project's
- content for each and every one of its branches and tags.
- <footnote>
- <para>That is, providing you don't run out of disk space
- before your checkout finishes.</para>
- </footnote>
+ <para>Puisque Subversion traite les branches et les étiquettes
+ comme de simples répertoires, les différentes lignes de
+ développement de votre projet sont probablement hébergées dans
+ des sous-répertoires du répertoire du projet principal. En
+ conséquence, n'oubliez pas de faire vos extractions en
+ spécifiant l'URL du sous-répertoire qui contient la ligne de
+ développement que vous désirez et pas l'URL racine du projet.
+ Sinon, il y a de grandes chances pour que vous récupériez une
+ copie complète de votre projet, y compris toutes les branches et
+ toutes les étiquettes<footnote>
+ <para>tout du moins si vous avez suffisamment d'espace disque
+ pour pouvoir terminer l'extraction.</para>
+ </footnote>.
</para>
</warning>
@@ -378,20 +408,21 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.properties">
- <title>Metadata Properties</title>
-
- <para>A new feature of Subversion is that you can attach arbitrary
- metadata (or <quote>properties</quote>) to files and
- directories. Properties are arbitrary name/value pairs
- associated with files and directories in your working
- copy.</para>
-
- <para>To set or get a property name, use the <command>svn
- propset</command> and <command>svn propget</command>
- subcommands. To list all properties on an object, use
- <command>svn proplist</command>.</para>
-
- <para>For more information, see <xref
linkend="svn.advanced.props"/>.</para>
+ <title>Propriétés des méta-données</title>
+
+ <para>Une nouvelle fonctionnalité de Subversion est la possibilité
+ d'affecter des méta-données arbitraires (ou
+ <quote>propriétés</quote>) aux fichiers et répertoires. Les
+ propriétés sont des couples nom/valeur arbitraires associés aux
+ fichiers et répertoires de votre copie de travail locale.</para>
+
+ <para>Pour définir ou récupérer un nom de propriété, utilisez les
+ sous-commandes <command>svn propset</command> et <command>svn
+ propget</command>. Pour obtenir la liste de toutes les propriétés
+ d'un objet, utilisez <command>svn proplist</command>.</para>
+
+ <para>Pour plus d'informations, reportez-vous à <xref
+ linkend="svn.advanced.props"/>.</para>
</sect1>
@@ -399,27 +430,30 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.conflicts">
- <title>Conflict Resolution</title>
-
- <para>CVS marks conflicts with inline <quote>conflict
- markers,</quote> and then prints a <literal>C</literal> during
- an update or merge operation. Historically, this has caused
- problems, because CVS isn't doing enough. Many users forget
- about (or don't see) the <literal>C</literal> after it whizzes
- by on their terminal. They often forget that the conflict
- markers are even present, and then accidentally commit files
- containing those conflict markers.</para>
-
- <para>Subversion solves this problem in a pair of ways. First,
- when a conflict occurs in a file, Subversion records the fact
- that the file is in a state of conflict, and won't allow you to
- commit changes to that file until you explicitly resolve the
- conflict. Second, Subversion 1.5 provides interactive
- conflict resolution, which allows you to resolve conflicts as
- they happen instead of having to go back and do so after the
- update or merge operation completes. See <xref
- linkend="svn.tour.cycle.resolve" /> for more about conflict
- resolution in Subversion.</para>
+ <title>Résolution des conflits</title>
+
+ <para>CVS signale les conflits par des <quote>marqueurs de
+ conflits</quote> insérés directement dans les fichiers puis
+ affiche un <literal>C</literal> pendant l'opération de mise à jour
+ ou de fusion. Historiquement, ce comportement a généré beaucoup de
+ problèmes, car CVS ne finit pas son travail. Beaucoup
+ d'utilisateurs oublient (ou ne voient pas) le <literal>C</literal>
+ une fois qu'il disparaît de l'écran. Ils oublient aussi souvent
+ que les marqueurs de conflit sont toujours présents et,
+ accidentellement, propagent des fichiers contenant ces marqueurs
+ de conflit.</para>
+
+ <para>Subversion corrige ce problème de deux façons. D'abord, quand
+ un conflit est détecté sur un fichier, Subversion enregistre le
+ fait que le fichier est en conflit et refuse de propager des
+ modifications concernant ce fichier tant que vous ne résolvez pas
+ explicitement le conflit. Ensuite, Subversion 1.5 propose une
+ résolution interactive des conflits, ce qui vous permet de
+ résoudre les conflits au moment où ils apparaissent plutôt que
+ d'avoir à revenir dessus une fois que la fusion ou la mise à jour
+ est terminée. Consultez <xref linkend="svn.tour.cycle.resolve" />
+ pour plus d'informations sur la résolution des conflits avec
+ Subversion.</para>
</sect1>
@@ -427,50 +461,55 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.forcvs.binary-and-trans">
- <title>Binary Files and Translation</title>
-
- <para>In the most general sense, Subversion handles binary files
- more gracefully than CVS does. Because CVS uses RCS, it can
- only store successive full copies of a changing binary file.
- Subversion, however, expresses differences between files using a
- binary differencing algorithm, regardless of whether they
- contain textual or binary data. That means all files are
- stored differentially (compressed) in the repository.</para>
-
- <para>CVS users have to mark binary files with
- <option>-kb</option> flags to prevent data from being
- garbled (due to keyword expansion and line-ending translations).
- They sometimes forget to do this.</para>
-
- <para>Subversion takes the more paranoid route. First, it never
- performs any kind of keyword or line-ending translation unless
- you explicitly ask it to do so (see <xref
- linkend="svn.advanced.props.special.keywords"/> and <xref
- linkend="svn.advanced.props.special.eol-style"/> for more details).
By default,
- Subversion treats all file data as literal byte strings, and
- files are always stored in the repository in an untranslated
- state.</para>
-
- <para>Second, Subversion maintains an internal notion of whether a
- file is <quote>text</quote> or <quote>binary</quote> data, but
- this notion is <emphasis>only</emphasis> extant in the working
- copy. During an <command>svn update</command>, Subversion will
- perform contextual merges on locally modified text files, but
- will not attempt to do so for binary files.</para>
-
- <para>To determine whether a contextual merge is possible,
- Subversion examines the <literal>svn:mime-type</literal>
- property. If the file has no <literal>svn:mime-type</literal>
- property, or has a MIME type that is textual (e.g.,
- <literal>text/*</literal>),
- Subversion assumes it is text. Otherwise, Subversion assumes
- the file is binary. Subversion also helps users by running a
- binary-detection algorithm in the <command>svn import</command>
- and <command>svn add</command> commands. These commands will
- make a good guess and then (possibly) set a binary
- <literal>svn:mime-type</literal> property on the file being
- added. (If Subversion guesses wrong, the user can always remove
- or hand-edit the property.)</para>
+ <title>Fichiers binaires et conversions</title>
+
+ <para>En général, Subversion se débrouille mieux avec les fichiers
+ binaires que CVS. Comme CVS utilise RCS, il est seulement capable
+ de stocker successivement des copies entières d'un fichier binaire
+ modifié. Subversion, en revanche, utilise un algorithme de
+ différenciation binaire, indépendant du contenu textuel ou binaire
+ des fichiers, pour déterminer les différences entre les fichiers.
+ Cela veut dire que tous les fichiers sont stockés de manière
+ différentielle (compressée) dans le dépôt.</para>
+
+ <para>Les utilisateurs de CVS doivent marquer les fichiers binaires
+ avec l'indicateur <option>-kb</option> pour empêcher que les
+ données ne soient corrompues (par l'expansion des mots-clés et les
+ conversions de fins de lignes). Ils oublient quelquefois de le
+ faire.</para>
+
+ <para>Subversion utilise une approche plus paranoïaque. Premièrement,
+ il ne fait aucune substitution de mot-clé ou de fin de ligne à
+ moins qu'on ne le lui demande explicitement (voir <xref
+ linkend="svn.advanced.props.special.keywords"/> et <xref
+ linkend="svn.advanced.props.special.eol-style"/> pour plus de
+ détails). Par défaut, Subversion considère que les fichiers de
+ données sont des suites littérales d'octets et les fichiers sont
+ toujours stockés dans le dépôt dans un état
+ <quote>non-converti</quote>.</para>
+
+ <para>Deuxièmement, Subversion conserve une notion interne pour le
+ contenu de chaque fichier : <quote>texte</quote> ou
+ <quote>binaire</quote>. Mais <emphasis>cette notion ne s'applique
+ qu'à la copie de travail locale</emphasis>. Lors d'un
+ <command>svn update</command>, Subversion effectue des fusions
+ contextuelles sur les fichiers texte modifiés localement mais ne
+ tente pas d'en faire autant pour les fichiers binaires.</para>
+
+ <para>Pour déterminer si une fusion contextuelle est possible,
+ Subversion examine la propriété <literal>svn:mime-type</literal>.
+ Si le fichier ne possède pas la propriété
+ <literal>svn:mime-type</literal> ou si le type MIME est textuel
+ (par exemple <literal>text/*</literal>), Subversion considère que
+ c'est du texte. Sinon, Subversion considère que le fichier est
+ binaire. Subversion aide également les utilisateurs en incluant
+ l'exécution d'un algorithme de détection des fichiers binaires
+ dans les commandes <command>svn import</command>
+ et <command>svn add</command>. Ces commandes tentent de deviner
+ puis affectent (éventuellement) un type binaire à la propriété
+ <literal>svn:mime-type</literal> du fichier ajouté (si Subversion
+ se trompe dans la détection, l'utilisateur peut toujours supprimer
+ ou éditer à la main la propriété).</para>
</sect1>
@@ -479,16 +518,18 @@
<!-- =================================================================
-->
<sect1 id="svn.forcvs.modules">
- <title>Versioned Modules</title>
-
- <para>Unlike CVS, a Subversion working copy is aware that it has
- checked out a module. That means if somebody changes the
- definition of a module (e.g., adds or removes components), a
- call to <command>svn update</command> will update the working
- copy appropriately, adding and removing components.</para>
-
- <para>Subversion defines modules as a list of directories within a
- directory property; see <xref
linkend="svn.advanced.externals"/>.</para>
+ <title>Suivi en versions des modules</title>
+
+ <para>Contrairement à CVS, une copie de travail locale de Subversion
+ sait qu'elle est l'extraction d'un module. Cela signifie que si
+ quelqu'un change la définition du module (par exemple ajoute ou
+ supprime des composants), un appel à <command>svn update</command>
+ met à jour la copie de travail correctement, en ajoutant et
+ supprimant les composants concernés.</para>
+
+ <para>Subversion définit les modules comme une liste de répertoires
+ formant une propriété d'un répertoire ; voir <xref
+ linkend="svn.advanced.externals"/>.</para>
</sect1>
@@ -497,31 +538,32 @@
<!-- =================================================================
-->
<sect1 id="svn.forcvs.auth">
- <title>Authentication</title>
-
- <para>With CVS's pserver, you are required to log in to the server
- (using the <command>cvs login</command> command) before
- performing any read or write operation—you sometimes even
- have to log in for anonymous operations. With a Subversion
- repository using Apache <command>httpd</command> or
- <command>svnserve</command> as the server, you don't provide any
- authentication credentials at the outset—if an operation
- that you perform requires authentication, the server will
- challenge you for your credentials (whether those credentials
- are username and password, a client certificate, or even both).
- So if your repository is world-readable, you will not be
- required to authenticate at all for read operations.</para>
-
- <para>As with CVS, Subversion still caches your credentials on
- disk (in your <filename>~/.subversion/auth/</filename>
- directory) unless you tell it not to by using the
- <option>--no-auth-cache</option> option.</para>
-
- <para>The exception to this behavior, however, is in the case of
- accessing an <command>svnserve</command> server over an SSH
- tunnel, using the <literal>svn+ssh://</literal> URL scheme. In
- that case, the <command>ssh</command> program unconditionally
- demands authentication just to start the tunnel.</para>
+ <title>Authentification</title>
+
+ <para>Avec le pserver de CVS, vous devez vous connecter au serveur
+ (en utilisant la commande <command>cvs login</command>) avant
+ n'importe quelle opération de lecture ou d'écriture —
+ parfois, vous devez même vous authentifier pour des opérations en
+ mode anonyme. Avec un dépôt Subversion utilisant Apache
+ <command>httpd</command> ou <command>svnserve</command>, vous
+ n'avez pas besoin de vous authentifier a priori — si une
+ opération nécessite que vous vous authentifiez, le serveur vous
+ demande de le faire (que ce soit par identifiant et mot de passe,
+ certificat client ou les deux). Ainsi, si votre dépôt est
+ accessible en lecture pour tous, vous n'avez pas besoin de vous
+ authentifier pour les opérations de lecture.</para>
+
+ <para>Comme CVS, Subversion met en cache sur le disque vos éléments
+ d'authentification (dans votre répertoire
+ <filename>~/.subversion/auth/</filename> à moins que vous ne lui
+ spécifiez le contraire avec l'option
+ <option>--no-auth-cache</option>.</para>
+
+ <para>Ce comportement possède une exception : l'accès à un
+ serveur <command>svnserve</command> via un tunnel SSH, en
+ utilisant les URL de type <literal>svn+ssh://</literal>. Dans ce
+ cas, le programme <command>ssh</command> vous demande toujours de
+ vous authentifier avant d'ouvrir le tunnel.</para>
</sect1>
@@ -530,31 +572,35 @@
<!-- =================================================================
-->
<sect1 id="svn.forcvs.convert">
- <title>Converting a Repository from CVS to Subversion</title>
-
- <para>Perhaps the most important way to familiarize CVS users with
- Subversion is to let them continue to work on their projects
- using the new system. And while that can be somewhat
- accomplished using a flat import into a Subversion repository of
- an exported CVS repository, the more thorough solution involves
- transferring not just the latest snapshot of their data, but all
- the history behind it as well, from one system to another. This
- is an extremely difficult problem to solve; it involves
- deducing changesets in the absence of atomicity and translating
- between the systems' completely orthogonal branching policies,
- among other complications. Still, a handful of tools claim
- to at least partially support the ability to convert
- existing CVS repositories into Subversion ones.</para>
-
- <para>The most popular (and mature) conversion tool is
- cvs2svn (<ulink url="http://cvs2svn.tigris.org/"/>), a Python
- program originally created by members of Subversion's own
- development community. This tool is meant to run exactly once:
- it scans your CVS repository multiple times and attempts to
- deduce commits, branches, and tags as best it can. When it
- finishes, the result is either a Subversion repository or a
- portable Subversion dump file representing your code's history.
- See the web site for detailed instructions and caveats.</para>
+ <title>Convertir un dépôt CVS vers Subversion</title>
+
+ <para>La meilleure façon d'habituer les utilisateurs CVS à
+ Subversion est certainement de les laisser continuer à travailler
+ sur leurs projets en utilisant le nouveau système. Et, bien que
+ cela puisse être fait par un import <quote>à plat</quote> dans le
+ dépôt Subversion d'un dépôt CVS exporté, la solution la plus
+ aboutie implique de transférer d'un système à l'autre non
+ seulement la dernière version des données mais aussi tout
+ l'historique qui va avec. C'est un problème particulièrement
+ ardu ; cela implique, parmi d'autres complications, de
+ déterminer les modifications qui vont ensemble, en l'absence
+ d'atomicité et de mécanisme de conversion entre les politiques
+ totalement contradictoires de gestion des branches des deux
+ systèmes. Néanmoins, il existe quelques outils qui se prétendent
+ capables de convertir, au moins en partie, des dépôts CVS en
+ dépôts Subversion.</para>
+
+ <para>L'outil le plus populaire (et le plus abouti) est cvs2svn
+ (<ulink url="http://cvs2svn.tigris.org/"/> site en anglais), un
+ programme en Python créé à l'origine par des membres de la
+ communauté de développement Subversion elle-même. Cet outil n'est
+ censé être lancé qu'une seule fois : il analyse votre dépôt
+ CVS plusieurs fois et essaie d'en déduire des propagations, des
+ branches et des étiquettes autant qu'il le peut. Au final, le
+ résultat est soit un dépôt Subversion soit un fichier dump
+ Subversion représentant l'historique du code. Consultez le site
+ web pour le détail des instructions et les précautions
+ d'usage.</para>
</sect1>
More information about the svnbook-dev
mailing list