New translation

PR: docs/38577
Submitted by: Marc Fonvieille <marc@blackend.org>
This commit is contained in:
Sebastien Gioria 2002-05-26 18:23:45 +00:00
parent 7907a9f1cf
commit ccd9650fdd
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=13244
2 changed files with 357 additions and 0 deletions

View file

@ -0,0 +1,21 @@
#
# The FreeBSD Documentation Project
# The FreeBSD French Documentation Project
#
# $FreeBSD$
# Original revision: 1.1
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
JADEFLAGS+= -V %generate-article-toc%
SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,336 @@
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
$Id: article.sgml,v 1.1 2002-05-26 18:23:45 gioria Exp $
Original revision: 1.4
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
]>
<article>
<articleinfo>
<title>Utilisation avanc&eacute;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>
<abstract>
<para>Le pr&eacute;sent article suppose une compr&eacute;hension
de base de l'utilisation de <application>cvsup</application>.
Il expose plusieurs probl&egrave;mes d&eacute;licats
li&eacute;s &agrave; la synchronisation des sources &agrave;
l'aide de <application>cvsup</application>, c'est &agrave;
dire des solutions efficaces aux probl&egrave;mes des fichiers
obsol&egrave;tes aussi bien qu'aux cas sp&eacute;ciaux de mise
&agrave; jour des sources, ces probl&egrave;mes sont susceptibles
de causer des d&eacute;sagr&eacute;ments apparamment
inexplicables.</para>
&abstract.license;
&abstract.disclaimer;
&trans.a.fonvieille;
</abstract>
</articleinfo>
<sect1 id="preface">
<title>Pr&eacute;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 &ecirc;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 &eacute;lectronique
<email>bartequi@neomedia.it</email>.</para>
</sect1>
<sect1 id="introduction">
<title>Introduction</title>
<para>Si vous avez consult&eacute; 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&eacute; 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&egrave;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&eacute;pertoire de base est <filename>/usr</filename>.</para>
<para>Un fichier &ldquo;checkouts&rdquo; contient l'information
sur l'&eacute;tat actuel de vos sources -- d'une certaine
mani&egrave;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-&ecirc;tre plus important, il permet
&agrave; <application>cvsup</application> de g&eacute;rer
correctement vos sources en effa&ccedil;ant localement tout
fichier qui n'est plus pr&eacute;sent sur l'archive centrale,
et de ce fait ne pas laisser de fichiers obsol&egrave;tes sur
votre syst&egrave;me. En fait, sans un fichier
&ldquo;checkouts&rdquo;, <application>cvsup</application> ne
saurait PAS de quels fichiers votre catalogue est compos&eacute;
(Cf &man.cvsup.1; pour plus de d&eacute;tails), et en
cons&eacute;quence, il ne pourrait PAS effacer de votre
syst&egrave;me ces fichiers qui ne sont plus pr&eacute;sents sur
l'archive centrale. Ils resteraient sur votre syst&egrave;me
(les fichiers obsol&egrave;tes), et pourraient vous causer de
subtiles &eacute;checs de compilation ou tout autre
d&eacute;sagr&eacute;ment. Par exemple, ce probl&egrave;me est
susceptible de se produire si vous mettez &agrave; jour votre
catalogue de logiciels port&eacute;s plusieurs semaines
apr&egrave;s que vous ayez eu vos CDROMs d'installation.</para>
<para>Il est donc recommand&eacute; que vous adoptiez la
proc&eacute;dure en deux temps d&eacute;crite dans la FAQ de
CVSup (Cf Q12, Q13); dans les sections suivantes, on vous
pr&eacute;sentera des exemples concrets int&eacute;ressant et
instructifs.</para>
</sect1>
<sect1 id="script">
<title>Une proc&eacute;dure python utile: cvsupchk</title>
<para>Alternativement, afin d'examiner les sources pour les
inconsistences, vous pouvez souhaiter utiliser la proc&eacute;dure
python <application>cvsupchk</application>, proc&eacute;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&eacute;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 &eacute;galement dans le catalogue
des logiciels port&eacute;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&egrave;re fois, naturellement vous n'avez pas de fichier
&ldquo;checkouts&rdquo;. Apr&egrave;s l'installation de python
et la mise &agrave; jour de vos sources (e.g.
<filename>/usr/ports</filename>), vous pouvez les v&eacute;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&eacute;sirez v&eacute;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, <application>cvsupchk</application>
inspectera vos sources &agrave; la
recherche d'inconsistences en utilisant les informations
contenues dans le fichier de &ldquo;checkouts&rdquo; relatif.
Des anomalies comme des fichiers effac&eacute;s, encore
pr&eacute;sents (aka fichiers obsol&egrave;tes), fichiers
r&eacute;cup&eacute;r&eacute;s absents, fichiers RCS
suppl&eacute;mentaires, et r&eacute;pertoires vides seront
affich&eacute;s sur la sortie standard.</para>
<para>Dans la section suivante, nous pr&eacute;senterons des exemples
typiques de la mise &agrave; jour de source, exemples qui vous
montreront le r&ocirc;le des fichiers de &ldquo;checkouts&rdquo;
et les dangers d'une gestion n&eacute;glig&eacute;e des sources.</para>
</sect1>
<sect1 id="examples">
<title>Exemples avanc&eacute;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&eacute;cifiez par exemple <literal>tag=A</literal>
dans votre fichier <filename>supfile</filename>,
<application>cvsup</application> cr&eacute;era
un fichier &ldquo;checkouts&rdquo; appel&eacute;
<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&eacute;n&eacute;r&eacute;. Ce fichier sera utilis&eacute;
pour r&eacute;cup&eacute;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&eacute;rieur/sup&eacute;rieur
&agrave; B important peu) et si votre fichier
&ldquo;checkouts&rdquo; est
<filename>checkouts.cvs:A</filename>, les op&eacute;rations
suivantes devront &ecirc;tre effectu&eacute;es:</para>
<orderedlist>
<listitem>
<para>&prompt.root; <userinput>mv checkouts.cvs:A
checkouts.cvs:B</userinput>
(ceci fournit &agrave; l'&eacute;tape suivante le fichier
&ldquo;checkouts&rdquo; appropri&eacute;)</para>
</listitem>
<listitem>
<para>Ecrivez un fichier <filename>supfile</filename>
dont la ligne d&eacute;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>Cvsup 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 contenus dans ce fichier pour g&eacute;rer
correctement vos sources.</para>
<para>Les avantages:</para>
<itemizedlist>
<listitem>
<para>Les sources sont trait&eacute;es correctement (en
particulier aucun fichiers obsol&egrave;tes).</para>
</listitem>
<listitem>
<para>Moins de charge sur le serveur, dans ce cas
<application>cvsup</application>
agit de la mani&egrave;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&ocirc;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&ecirc;me avec le syst&egrave;me. Vous &ecirc;tes
FORTEMENT d&eacute;conseill&eacute; de tenter une telle
op&eacute;ration, &agrave; moins que vous ne sachiez
exactement ce que vous faites.</para>
</sect2>
<sect2>
<title>Mettre &agrave; jour en conservant le m&ecirc;me champ
tag mais pour une date diff&eacute;rente</title>
<para>Si vous souhaitez basculer du champ <literal>tag=A</literal>
au champ <literal>tag=A</literal> avec une date GMT
diff&eacute;rente (disons <literal>date=D</literal>) vous
ex&eacute;cuterez ce qui suit:</para>
<orderedlist>
<listitem>
<para>Ecrivez un <filename>supfile</filename> dont la
ligne d&eacute;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&eacute;c&egrave;de ou non celle
de la derni&egrave;re synchronisation avec le champ
<literal>tag=A</literal> est peu important. Par exemple,
afin d'indiquer la date du &ldquo;27 Ao&ucirc;t 2000 &agrave;
10h00s00 GMT&rdquo; vous &eacute;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&egrave;cle
(20, i.e. le vingti&egrave;me si&egrave;cle, doit &ecirc;tre
fourni tandis que 19, le si&egrave;cle pass&eacute; peut
&ecirc;tre omis), l'ann&eacute;e, le mois, le jour, l'heure,
les minutes et les secondes -- comme montr&eacute; 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&eacute;cifi&eacute;e ou non, le fichier
&ldquo;checkouts&rdquo; est appel&eacute;
<filename>checkouts.cvs:A</filename> (e.g.
<filename>checkouts.cvs:RELENG_4</filename>). Comme
cons&eacute;quence, aucune action particuli&egrave;re n'est
n&eacute;cessaire afin de retourner &agrave; l'&eacute;tat
pr&eacute;c&eacute;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&eacute;s pour la premi&egrave;re fois</title>
<para>Comme les logiciels port&eacute;s sont
&eacute;tiquet&eacute;s &ldquo;.&rdquo; (i.e. -CURRENT),
vous pouvez correctement les synchroniser en
ajoutant le mot-cl&eacute; <literal>date</literal> (Cf
&man.cvsup.1; pour le format exact), vous devriez
sp&eacute;cifier une date aussi proche que possible que celle
de &ldquo;l'exp&eacute;dition&rdquo; de votre catalogue de
logiciel port&eacute;. Apr&egrave;s que cvsup ait
cr&eacute;e le fichier &ldquo;checkouts&rdquo; du catalogue des
logiciels port&eacute;s, qui est pr&eacute;cis&eacute;ment le
but de cette premi&egrave;re op&eacute;ration de synchronisation,
le champ <literal>date</literal> doit &ecirc;tre retir&eacute;,
toutes les mises &agrave; jour suivantes seront faites en
douceur.</para>
<para>Si vous avez voulu chercher la petite b&ecirc;te dans ce texte,
vous vous &ecirc;tes probablement aper&ccedil;u des
probl&egrave;mes potentiels du processus de mise &agrave; jour des
sources. Un certain nombre de personnes ont eu r&eacute;ellement
des probl&egrave;mes. Vous avez &eacute;t&eacute;
avertis. :-)</para>
</sect2>
</sect1>
</article>