aboutsummaryrefslogtreecommitdiff
path: root/fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml
diff options
context:
space:
mode:
Diffstat (limited to 'fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml')
-rw-r--r--fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml342
1 files changed, 342 insertions, 0 deletions
diff --git a/fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml b/fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml
new file mode 100644
index 0000000000..c7ca581340
--- /dev/null
+++ b/fr_FR.ISO8859-1/articles/cvsup-advanced/article.xml
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
+ "../../../share/sgml/freebsd42.dtd" [
+<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//FR" "../../share/sgml/entities.ent">
+%entities;
+<!ENTITY % not.published "IGNORE">
+]>
+
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD French Documentation Project
+
+ $FreeBSD$
+ $Id: article.xml,v 1.7 2007-01-20 13:34:48 blackend Exp $
+ Original revision: 1.12
+-->
+
+<article lang="fr">
+ <articleinfo>
+ <title>Utilisation avancée de cvsup</title>
+
+ <authorgroup>
+ <author>
+ <firstname>Salvo</firstname>
+ <surname>Bartolotta</surname>
+
+ <affiliation>
+ <address><email>bartequi@neomedia.it</email></address>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <pubdate>$FreeBSD$</pubdate>
+
+ <releaseinfo>$FreeBSD$</releaseinfo>
+
+ <legalnotice id="trademarks" role="trademarks">
+ &tm-attrib.freebsd;
+ &tm-attrib.cvsup;
+ &tm-attrib.general;
+ </legalnotice>
+
+ <abstract>
+ <para>Le présent article suppose une compréhension
+ de base de l'utilisation de <application>CVSup</application>.
+ Il expose plusieurs problèmes délicats
+ liés &agrave; la synchronisation des sources &agrave;
+ l'aide de <application>CVSup</application>, c'est &agrave;
+ dire des solutions efficaces aux problèmes des fichiers
+ obsolètes aussi bien qu'aux cas spéciaux de mise
+ &agrave; jour des sources, ces problèmes sont susceptibles
+ de causer des désagréments apparemment
+ inexplicables.</para>
+
+ &trans.a.fonvieille;
+ </abstract>
+ </articleinfo>
+
+ <sect1 id="preface">
+ <title>Préface</title>
+
+ <para>Ce document est le fruit des tentatives de l'auteur de
+ comprendre les finesses de <application>CVSup</application> et
+ de la mise &agrave; jour des sources.&nbsp;:-)
+ Bien que l'auteur ait fait de nombreux efforts pour
+ rendre ces pages aussi instructives et correctes que possible,
+ il n'est qu'un être humain et a pu avoir commis toutes sortes
+ de coquilles, d'erreurs, etc... Il sera vraiment reconnaissant
+ pour tous les commentaires et/ou suggestions que vous enverrez
+ &agrave; son adresse électronique
+ <email>bartequi@neomedia.it</email>.</para>
+ </sect1>
+
+
+ <sect1 id="introduction">
+ <title>Introduction</title>
+
+ <para>Si vous avez consulté le <ulink
+ url="http://www.polstra.com/">site de John Polstra</ulink> et lu
+ sa <ulink
+ url="http://www.polstra.com/projects/freeware/CVSup/faq.html">FAQ</ulink>,
+ vous avez pu avoir remarqué les questions 12 et 13.</para>
+
+ <para>En mettant &agrave; jour n'importe quelle &ldquo;catalogue&rdquo;
+ - collection de sources (e.g. <filename>/usr/ports</filename>),
+ &man.cvsup.1; se sert des fichiers de &ldquo;checkouts&rdquo;
+ relatifs afin d'effectuer le processus de mise &agrave; jour de la
+ manière la plus efficace et la plus correcte possible. Dans cet
+ exemple (<filename>/usr/ports</filename>), le fichiers de
+ &ldquo;checkouts&rdquo; relatif est
+ <filename>/usr/sup/ports-all/checkouts.cvs:.</filename> si votre
+ répertoire de base est <filename>/usr</filename>.</para>
+
+ <para>Un fichier &ldquo;checkouts&rdquo; contient l'information
+ sur l'état actuel de vos sources -- d'une certaine
+ manière, une sorte de &ldquo;photographie&rdquo;. Cette
+ information permet &agrave; <application>cvsup</application> de
+ rechercher les mises &agrave; jour le plus efficacement. De
+ plus, et c'est peut-être plus important, il permet
+ &agrave; <application>cvsup</application> de gérer
+ correctement vos sources en effaçant localement tout
+ fichier qui n'est plus présent sur l'archive centrale,
+ et de ce fait ne pas laisser de fichiers obsolètes sur
+ votre système. En fait, sans un fichier
+ &ldquo;checkouts&rdquo;, <application>cvsup</application> ne
+ saurait PAS de quels fichiers votre catalogue est composé
+ (Cf &man.cvsup.1; pour plus de détails), et en
+ conséquence, il ne pourrait PAS effacer de votre
+ système ces fichiers qui ne sont plus présents sur
+ l'archive centrale. Ils resteraient sur votre système
+ (les fichiers obsolètes), et pourraient vous causer de
+ subtiles échecs de compilation ou tout autre
+ désagrément. Par exemple, ce problème est
+ susceptible de se produire si vous mettez &agrave; jour votre
+ catalogue de logiciels portés plusieurs semaines
+ après que vous ayez eu vos CDROMs d'installation.</para>
+
+ <para>Il est donc recommandé que vous adoptiez la
+ procédure en deux temps décrite dans la FAQ de
+ <application>CVSup</application> (Cf Q12, Q13); dans les
+ sections suivantes, on vous présentera des exemples
+ concrets intéressant et instructifs.</para>
+ </sect1>
+
+ <sect1 id="script">
+ <title>Une procédure python utile: cvsupchk</title>
+
+ <para>Alternativement, afin d'examiner les sources pour les
+ inconsistences, vous pouvez souhaiter utiliser la procédure
+ python <command>cvsupchk</command>, procédure qui se
+ trouve actuellement dans
+ <filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>,
+ avec un sympathique <filename>README</filename>.
+ Prérequis:</para>
+
+ <orderedlist>
+ <listitem>
+ <para><literal>/usr/ports/net/cvsup</literal> &prompt.root;
+<userinput> make extract</userinput></para>
+ </listitem>
+
+ <listitem>
+ <para>python (que l'on trouve également dans le catalogue
+ des logiciels portés :-)).</para>
+ </listitem>
+
+ <listitem>
+ <para>Un fichier &ldquo;checkouts&rdquo; pour votre
+ catalogue des sources.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Si vous mettez &agrave; jour vos sources pour la toute
+ première fois, naturellement vous n'avez pas de fichier
+ &ldquo;checkouts&rdquo;. Après l'installation de python
+ et la mise &agrave; jour de vos sources (e.g.
+ <filename>/usr/ports</filename>), vous pouvez les vérifier
+ ainsi:</para>
+
+ <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/ports-all/checkouts.cvs:. | more</userinput></screen>
+
+ <para>Si vous désirez vérifier vos sources RELENG_4:</para>
+
+ <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen>
+
+ <para>Dans chaque cas, <command>cvsupchk</command>
+ inspectera vos sources &agrave; la
+ recherche d'inconsistances en utilisant les informations
+ contenues dans le fichier de &ldquo;checkouts&rdquo; relatif.
+ Des anomalies comme des fichiers effacés, encore
+ présents (aka fichiers obsolètes), fichiers
+ récupérés absents, fichiers RCS
+ supplémentaires, et répertoires vides seront
+ affichés sur la sortie standard.</para>
+
+ <para>Dans la section suivante, nous présenterons des exemples
+ typiques de la mise &agrave; jour de source, exemples qui vous
+ montreront le rôle des fichiers de &ldquo;checkouts&rdquo;
+ et les dangers d'une gestion négligée des sources.</para>
+ </sect1>
+
+ <sect1 id="examples">
+ <title>Exemples avancés de gestion des sources</title>
+
+ <sect2>
+ <title>Comment modifier sans risques le champ tag quand vous
+ mettez &agrave; jour <literal>src-all</literal></title>
+
+ <para>Si vous spécifiez par exemple <literal>tag=A</literal>
+ dans votre fichier <filename>supfile</filename>,
+ <application>cvsup</application> créera
+ un fichier &ldquo;checkouts&rdquo; appelé
+ <filename>checkouts.cvs:A</filename>, par exemple avec le
+ champ <literal>tag=RELENG_4</literal>, un fichier de
+ &ldquo;checkouts&rdquo;
+ <filename>checkouts.cvs:RELENG_4</filename> est
+ généré. Ce fichier sera utilisé
+ pour récupérer et/ou stocker
+ l'information identifiant vos sources 4-STABLE.</para>
+
+ <para>En suivant le catalogue <literal>src-all</literal>, si
+ vous souhaitez passer de <literal>tag=A</literal> &agrave;
+ <literal>tag=B</literal> (A inférieur/supérieur
+ &agrave; B important peu) et si votre fichier
+ &ldquo;checkouts&rdquo; est
+ <filename>checkouts.cvs:A</filename>, les opérations
+ suivantes devront être effectuées:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>&prompt.root; <userinput>mv checkouts.cvs:A
+checkouts.cvs:B</userinput>
+ (ceci fournit &agrave; l'étape suivante le fichier
+ &ldquo;checkouts&rdquo; approprié)</para>
+ </listitem>
+
+ <listitem>
+ <para>Ecrivez un fichier <filename>supfile</filename>
+ dont la ligne désignant le catalogue est:</para>
+ <programlisting>src-all tag=B</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Cvsupez vos sources en utilisant le nouveau
+ <filename>supfile</filename>.</para>
+ </listitem>
+ </orderedlist>
+
+ <para><application>Cvsup</application> recherchera <filename>checkouts.cvs:B</filename>
+ -- dans ce cas la cible est B, c'est &agrave; dire que
+ <application>cvsup</application> se
+ servira des informations contenues dans ce fichier pour gérer
+ correctement vos sources.</para>
+
+ <para>Les avantages:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Les sources sont traitées correctement (en
+ particulier aucun fichier obsolète).</para>
+ </listitem>
+
+ <listitem>
+ <para>Moins de charge sur le serveur, dans ce cas
+ <application>CVSup</application>
+ agit de la manière la plus efficace.</para>
+ </listitem>
+ </itemizedlist>
+
+
+ <para>Par exemple, <literal>A=RELENG_4</literal>,
+ <literal>B=.</literal>, le point dans <literal>B=.</literal>
+ signifie -CURRENT. C'est une mise &agrave; jour plutôt
+ typique de la branche 4-STABLE vers la branche -CURRENT.
+ Alors qu'il est simple de revenir &agrave; une ancienne
+ version de sources (e.g. -CURRENT vers -STABLE), il n'en va
+ pas de même avec le système. Vous êtes
+ FORTEMENT déconseillé de tenter une telle
+ opération, &agrave; moins que vous ne sachiez
+ exactement ce que vous faites.</para>
+ </sect2>
+
+ <sect2>
+ <title>Mettre &agrave; jour en conservant le même champ
+ tag mais pour une date différente</title>
+
+ <para>Si vous souhaitez basculer du champ <literal>tag=A</literal>
+ au champ <literal>tag=A</literal> avec une date GMT
+ différente (disons <literal>date=D</literal>) vous
+ exécuterez ce qui suit:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Ecrivez un <filename>supfile</filename> dont la
+ ligne désignant le catalogue est:</para>
+ <programlisting>src-all tag=A date=D</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Mettez &agrave; jour vos sources en utilisant le nouveau
+ <filename>supfile</filename>.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Que la nouvelle date précède ou non celle
+ de la dernière synchronisation avec le champ
+ <literal>tag=A</literal> est peu important. Par exemple,
+ afin d'indiquer la date du &ldquo;27 Août 2000 &agrave;
+ 10h00s00 GMT&rdquo; vous écrirez la ligne:</para>
+
+
+ <programlisting>src-all tag=RELENG_4 date=2000.08.27.10.00.00</programlisting>
+
+ <note><para>Le format de la date est rigide. Vous devez
+ indiquer toutes les composantes de la date: le siècle
+ (<quote>20</quote>, i.e. le vingtième siècle, doit être
+ fourni tandis que <quote>19</quote>, le siècle passé peut
+ être omis), l'année, le mois, le jour, l'heure,
+ les minutes et les secondes &mdash; comme montré dans
+ l'exemple ci-dessus. Pour plus d'information, veuillez
+ consulter la page de manuel &man.cvsup.1;.</para></note>
+
+ <para>Qu'une date soit spécifiée ou non, le fichier
+ &ldquo;checkouts&rdquo; est appelé
+ <filename>checkouts.cvs:A</filename> (e.g.
+ <filename>checkouts.cvs:RELENG_4</filename>). Comme
+ conséquence, aucune action particulière n'est
+ nécessaire afin de retourner &agrave; l'état
+ précédent: vous devez modifier la date
+ dans le <filename>supfile</filename> et remettre &agrave;
+ jour &agrave; nouveau.</para>
+ </sect2>
+
+
+ <sect2>
+ <title>Mise &agrave; jour de votre catalogue des logiciels
+ portés pour la première fois</title>
+
+ <para>Comme les logiciels portés sont
+ étiquetés &ldquo;.&rdquo; (i.e. -CURRENT),
+ vous pouvez correctement les synchroniser en
+ ajoutant le mot-clé <literal>date</literal> (Cf
+ &man.cvsup.1; pour le format exact), vous devriez
+ spécifier une date aussi proche que possible que celle
+ de &ldquo;l'expédition&rdquo; de votre catalogue de
+ logiciel porté. Après que <application>CVSup</application> ait
+ créé le fichier &ldquo;checkouts&rdquo; du catalogue des
+ logiciels portés, qui est précisément le
+ but de cette première opération de synchronisation,
+ le champ <literal>date</literal> doit être retiré,
+ toutes les mises &agrave; jour suivantes seront faites en
+ douceur.</para>
+
+ <para>Si vous avez voulu chercher la petite bête dans ce texte,
+ vous vous êtes probablement aperçu des
+ problèmes potentiels du processus de mise &agrave; jour des
+ sources. Un certain nombre de personnes ont eu réellement
+ des problèmes. Vous avez été
+ avertis. :-)</para>
+ </sect2>
+ </sect1>
+</article>