View | Details | Raw Unified | Return to bug 38577
Collapse All | Expand All

(-)articles/Makefile (+1 lines)
Lines 26-31 Link Here
26
SUBDIR+= laptop
26
SUBDIR+= laptop
27
SUBDIR+= pxe
27
SUBDIR+= pxe
28
SUBDIR+= pr-guidelines
28
SUBDIR+= pr-guidelines
29
SUBDIR+= cvsup-advanced
29
30
30
ROOT_SYMLINKS+= new-users
31
ROOT_SYMLINKS+= new-users
31
32
(-)articles/cvsup-advanced/Makefile (+21 lines)
Line 0 Link Here
1
#                                                                               
2
#    The FreeBSD Documentation Project                                          
3
#    The FreeBSD French Documentation Project                                   
4
#                                                                               
5
#    $FreeBSD: doc/en_US.ISO8859-1/articles/cvsup-advanced/Makefile,v 1.1 2001/10/10 21:38:30 murray Exp $
6
#    Original revision: 1.1                                                     
7
8
DOC?= article
9
10
FORMATS?= html
11
12
INSTALL_COMPRESSED?=gz
13
INSTALL_ONLY_COMPRESSED?=
14
15
JADEFLAGS+=	-V %generate-article-toc%
16
17
SRCS= article.sgml
18
19
DOC_PREFIX?= ${.CURDIR}/../../..
20
21
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
(-)articles/cvsup-advanced/article.sgml (+336 lines)
Line 0 Link Here
1
<!--
2
      The FreeBSD Documentation Project
3
      The FreeBSD French Documentation Project
4
      
5
      $FreeBSD$
6
      $Id$
7
      Original revision: 1.4
8
-->
9
10
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
11
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
12
%man;
13
<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
14
<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
15
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
16
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
17
]>
18
19
<article>
20
  <articleinfo>
21
    <title>Utilisation avanc&eacute;e de cvsup</title>
22
23
    <authorgroup>
24
      <author>
25
	<firstname>Salvo</firstname>
26
	<surname>Bartolotta</surname>
27
28
	<affiliation>
29
	  <address><email>bartequi@neomedia.it</email></address>
30
	</affiliation>
31
      </author>
32
    </authorgroup>
33
34
    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/cvsup-advanced/article.sgml,v 1.4 2001/10/23 21:31:18 murray Exp $</pubdate>
35
36
    <abstract>
37
      <para>Le pr&eacute;sent article suppose une compr&eacute;hension 
38
	de base de l'utilisation de <application>cvsup</application>.  
39
	Il expose plusieurs probl&egrave;mes d&eacute;licats  
40
        li&eacute;s &agrave; la synchronisation des sources &agrave; 
41
	l'aide de <application>cvsup</application>, c'est &agrave;
42
	dire des solutions efficaces aux probl&egrave;mes des fichiers
43
	obsol&egrave;tes aussi bien qu'aux cas sp&eacute;ciaux de mise 
44
	&agrave; jour des sources, ces probl&egrave;mes sont susceptibles 
45
	de causer des d&eacute;sagr&eacute;ments apparamment 
46
	inexplicables.</para>
47
	&abstract.license;
48
        &abstract.disclaimer;
49
        &trans.a.fonvieille;
50
    </abstract>
51
  </articleinfo>
52
53
  <sect1 id="preface">
54
    <title>Pr&eacute;face</title>
55
    
56
      <para>Ce document est le fruit des tentatives de l'auteur de
57
	comprendre les finesses de <application>cvsup</application> et 
58
	de la mise &agrave; jour des sources.&nbsp;:-)
59
	Bien que l'auteur ait fait de nombreux efforts pour
60
	rendre ces pages aussi instructives et correctes que possible,
61
	il n'est qu'un &ecirc;tre humain et a pu avoir commis toutes sortes
62
	de coquilles, d'erreurs, etc...  Il sera vraiment reconnaissant 
63
	pour tous les commentaires et/ou suggestions que vous enverrez 
64
	&agrave; son adresse &eacute;lectronique 
65
	<email>bartequi@neomedia.it</email>.</para>
66
  </sect1>
67
68
 
69
  <sect1 id="introduction">
70
    <title>Introduction</title>
71
72
      <para>Si vous avez consult&eacute; le <ulink
73
	url="http://www.polstra.com/">site de John Polstra</ulink> et lu
74
	sa <ulink
75
	url="http://www.polstra.com/projects/freeware/CVSup/faq.html">FAQ</ulink>,
76
	vous avez pu avoir remarqu&eacute; les questions 12 et 13.</para>
77
78
      <para>En mettant &agrave; jour n'importe quelle &ldquo;catalogue&rdquo; 
79
	- collection de sources (e.g. <filename>/usr/ports</filename>), 
80
	&man.cvsup.1; se sert des fichiers de &ldquo;checkouts&rdquo; 
81
	relatifs afin d'effectuer le processus de mise &agrave; jour de la 
82
	mani&egrave;re la plus efficace et la plus correcte possible.  Dans cet 
83
	exemple (<filename>/usr/ports</filename>), le fichiers de
84
	&ldquo;checkouts&rdquo; relatif est
85
	<filename>/usr/sup/ports-all/checkouts.cvs:.</filename> si votre
86
	r&eacute;pertoire de base est <filename>/usr</filename>.</para>
87
88
      <para>Un fichier &ldquo;checkouts&rdquo; contient l'information
89
	sur l'&eacute;tat actuel de vos sources -- d'une certaine 
90
	mani&egrave;re, une sorte de &ldquo;photographie&rdquo;.  Cette 
91
	information permet &agrave; <application>cvsup</application> de 
92
	rechercher les mises &agrave; jour le plus efficacement.  De 
93
	plus, et c'est peut-&ecirc;tre plus important, il permet 
94
	&agrave; <application>cvsup</application> de g&eacute;rer 
95
	correctement vos sources en effa&ccedil;ant localement tout
96
	fichier qui n'est plus pr&eacute;sent sur l'archive centrale, 
97
	et de ce fait ne pas laisser de fichiers obsol&egrave;tes sur 
98
	votre syst&egrave;me.  En fait, sans un fichier 
99
	&ldquo;checkouts&rdquo;, <application>cvsup</application> ne
100
	saurait PAS de quels fichiers votre catalogue est compos&eacute; 
101
	(Cf &man.cvsup.1; pour plus de d&eacute;tails), et en 
102
	cons&eacute;quence, il ne pourrait PAS effacer de votre 
103
	syst&egrave;me ces fichiers qui ne sont plus pr&eacute;sents sur 
104
	l'archive centrale.  Ils resteraient sur votre syst&egrave;me 
105
	(les fichiers obsol&egrave;tes), et pourraient vous causer de 
106
	subtiles &eacute;checs de compilation ou tout autre 
107
	d&eacute;sagr&eacute;ment.  Par exemple, ce probl&egrave;me est 
108
	susceptible de se produire si vous mettez &agrave; jour votre 
109
	catalogue de logiciels port&eacute;s plusieurs semaines 
110
	apr&egrave;s que vous ayez eu vos CDROMs d'installation.</para>
111
112
     <para>Il est donc recommand&eacute; que vous adoptiez la 
113
       proc&eacute;dure en deux temps d&eacute;crite dans la FAQ de 
114
       CVSup (Cf Q12, Q13); dans les sections suivantes, on vous 
115
       pr&eacute;sentera des exemples concrets int&eacute;ressant et 
116
       instructifs.</para>
117
  </sect1>
118
119
  <sect1 id="script">
120
    <title>Une proc&eacute;dure python utile: cvsupchk</title>
121
122
      <para>Alternativement, afin d'examiner les sources pour les
123
	inconsistences, vous pouvez souhaiter utiliser la proc&eacute;dure
124
	python <application>cvsupchk</application>, proc&eacute;dure qui se 
125
	trouve actuellement dans
126
	<filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>,
127
	avec un sympathique <filename>README</filename>.
128
	Pr&eacute;requis:</para>
129
130
        <orderedlist>
131
           <listitem>
132
             <para><literal>/usr/ports/net/cvsup</literal> &prompt.root;
133
<userinput> make extract</userinput></para>
134
           </listitem>
135
136
           <listitem>
137
             <para>python (que l'on trouve &eacute;galement dans le catalogue
138
	       des logiciels port&eacute;s :-)).</para>
139
           </listitem>
140
141
           <listitem>
142
             <para>Un fichier &ldquo;checkouts&rdquo; pour votre
143
	       catalogue des sources.</para>
144
           </listitem>
145
         </orderedlist>
146
147
      <para>Si vous mettez &agrave; jour vos sources pour la toute 
148
	premi&egrave;re fois, naturellement vous n'avez pas de fichier
149
	&ldquo;checkouts&rdquo;.  Apr&egrave;s l'installation de python 
150
	et la mise &agrave; jour de vos sources (e.g.
151
	<filename>/usr/ports</filename>), vous pouvez les v&eacute;rifier
152
	ainsi:</para>
153
154
        <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/ports-all/checkouts.cvs:. | more</userinput></screen>
155
156
      <para>Si vous d&eacute;sirez v&eacute;rifier vos sources RELENG_4:</para>
157
158
        <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen>
159
160
      <para>Dans chaque cas, <application>cvsupchk</application> 
161
	inspectera vos sources &agrave; la
162
	recherche d'inconsistences en utilisant les informations
163
	contenues dans le fichier de &ldquo;checkouts&rdquo; relatif.
164
	Des anomalies comme des fichiers effac&eacute;s, encore 
165
	pr&eacute;sents (aka fichiers obsol&egrave;tes), fichiers 
166
	r&eacute;cup&eacute;r&eacute;s absents, fichiers RCS
167
	suppl&eacute;mentaires, et r&eacute;pertoires vides seront 
168
	affich&eacute;s sur la sortie standard.</para>
169
170
      <para>Dans la section suivante, nous pr&eacute;senterons des exemples
171
	typiques de la mise &agrave; jour de source, exemples qui vous
172
	montreront le r&ocirc;le des fichiers de &ldquo;checkouts&rdquo; 
173
	et les dangers d'une gestion n&eacute;glig&eacute;e des sources.</para>
174
  </sect1>
175
176
  <sect1 id="examples">
177
    <title>Exemples avanc&eacute;s de gestion des sources</title>
178
179
      <sect2>
180
        <title>Comment modifier sans risques le champ tag quand vous
181
	  mettez &agrave; jour <literal>src-all</literal></title>
182
183
        <para>Si vous sp&eacute;cifiez par exemple <literal>tag=A</literal>
184
	  dans votre fichier <filename>supfile</filename>,
185
	  <application>cvsup</application> cr&eacute;era
186
	  un fichier &ldquo;checkouts&rdquo; appel&eacute;
187
	  <filename>checkouts.cvs:A</filename>, par exemple avec le
188
	  champ <literal>tag=RELENG_4</literal>, un fichier de
189
	  &ldquo;checkouts&rdquo;
190
	  <filename>checkouts.cvs:RELENG_4</filename> est 
191
	  g&eacute;n&eacute;r&eacute;.  Ce fichier sera utilis&eacute; 
192
	  pour r&eacute;cup&eacute;rer et/ou stocker
193
	  l'information identifiant vos sources 4-STABLE.</para>
194
195
         <para>En suivant le catalogue <literal>src-all</literal>, si
196
	   vous souhaitez passer de <literal>tag=A</literal> &agrave;
197
	   <literal>tag=B</literal> (A inf&eacute;rieur/sup&eacute;rieur 
198
	   &agrave; B important peu) et si votre fichier 
199
	   &ldquo;checkouts&rdquo; est
200
	   <filename>checkouts.cvs:A</filename>, les op&eacute;rations
201
	   suivantes devront &ecirc;tre effectu&eacute;es:</para>
202
203
            <orderedlist>
204
              <listitem>
205
                <para>&prompt.root; <userinput>mv checkouts.cvs:A
206
checkouts.cvs:B</userinput>
207
                  (ceci fournit &agrave; l'&eacute;tape suivante le fichier
208
		  &ldquo;checkouts&rdquo; appropri&eacute;)</para>
209
              </listitem>
210
211
              <listitem>
212
                <para>Ecrivez un fichier <filename>supfile</filename>
213
		  dont la ligne d&eacute;signant le catalogue est:</para>
214
                  <programlisting>src-all tag=B</programlisting>
215
              </listitem>
216
217
              <listitem>
218
                <para>Cvsupez vos sources en utilisant le nouveau
219
		<filename>supfile</filename>.</para>
220
              </listitem>
221
            </orderedlist>
222
223
         <para>Cvsup recherchera <filename>checkouts.cvs:B</filename> 
224
	   -- dans ce cas la cible est B, c'est &agrave; dire que
225
	   <application>cvsup</application> se 
226
	   servira des informations contenus dans ce fichier pour g&eacute;rer
227
	   correctement vos sources.</para>
228
229
         <para>Les avantages:</para>
230
231
           <itemizedlist>
232
              <listitem>
233
                <para>Les sources sont trait&eacute;es correctement (en
234
		  particulier aucun fichiers obsol&egrave;tes).</para>
235
              </listitem>
236
237
              <listitem>
238
                <para>Moins de charge sur le serveur, dans ce cas
239
		<application>cvsup</application>
240
		  agit de la mani&egrave;re la plus efficace.</para>
241
              </listitem>
242
           </itemizedlist>
243
244
245
         <para>Par exemple, <literal>A=RELENG_4</literal>,
246
	   <literal>B=.</literal>, le point dans <literal>B=.</literal>
247
	   signifie -CURRENT.  C'est une mise &agrave; jour plut&ocirc;t 
248
	   typique de la branche 4-STABLE vers la branche -CURRENT.  
249
	   Alors qu'il est simple de revenir &agrave; une ancienne 
250
	   version de sources (e.g. -CURRENT vers -STABLE), il n'en va 
251
	   pas de m&ecirc;me avec le syst&egrave;me.  Vous &ecirc;tes 
252
	   FORTEMENT d&eacute;conseill&eacute; de tenter une telle
253
	   op&eacute;ration, &agrave; moins que vous ne sachiez 
254
	   exactement ce que vous faites.</para>
255
       </sect2>
256
257
       <sect2>
258
         <title>Mettre &agrave; jour en conservant le m&ecirc;me champ 
259
	   tag mais pour une date diff&eacute;rente</title>
260
261
         <para>Si vous souhaitez basculer du champ <literal>tag=A</literal> 
262
	   au champ <literal>tag=A</literal> avec une date GMT
263
	   diff&eacute;rente (disons <literal>date=D</literal>) vous 
264
	   ex&eacute;cuterez ce qui suit:</para>
265
266
           <orderedlist>
267
             <listitem>
268
               <para>Ecrivez un <filename>supfile</filename> dont la
269
		 ligne d&eacute;signant le catalogue est:</para>
270
                 <programlisting>src-all tag=A date=D</programlisting>
271
             </listitem>
272
273
             <listitem>
274
               <para>Mettez &agrave; jour vos sources en utilisant le nouveau
275
		 <filename>supfile</filename>.</para>
276
             </listitem>
277
           </orderedlist>
278
279
         <para>Que la nouvelle date pr&eacute;c&egrave;de ou non celle 
280
	   de la derni&egrave;re synchronisation avec le champ 
281
	   <literal>tag=A</literal> est peu important.  Par exemple, 
282
	   afin d'indiquer la date du &ldquo;27 Ao&ucirc;t 2000 &agrave; 
283
	   10h00s00 GMT&rdquo; vous &eacute;crirez la ligne:</para>
284
285
286
         <programlisting>src-all tag=RELENG_4 date=2000.08.27.10.00.00</programlisting>
287
288
         <note><para>Le format de la date est rigide.  Vous devez
289
	   indiquer toutes les composantes de la date: le si&egrave;cle 
290
	   (20, i.e. le vingti&egrave;me si&egrave;cle, doit &ecirc;tre 
291
	   fourni tandis que 19, le si&egrave;cle pass&eacute; peut 
292
	   &ecirc;tre omis), l'ann&eacute;e, le mois, le jour, l'heure, 
293
	   les minutes et les secondes -- comme montr&eacute; dans
294
	   l'exemple ci-dessus.  Pour plus d'information, veuillez
295
	   consulter la page de manuel &man.cvsup.1;.</para></note>
296
297
         <para>Qu'une date soit sp&eacute;cifi&eacute;e ou non, le fichier
298
	   &ldquo;checkouts&rdquo; est appel&eacute;
299
	   <filename>checkouts.cvs:A</filename> (e.g.
300
	   <filename>checkouts.cvs:RELENG_4</filename>).  Comme
301
	   cons&eacute;quence, aucune action particuli&egrave;re n'est 
302
	   n&eacute;cessaire afin de retourner &agrave; l'&eacute;tat 
303
	   pr&eacute;c&eacute;dent: vous devez modifier la date
304
	   dans le <filename>supfile</filename> et remettre &agrave; 
305
	   jour &agrave; nouveau.</para>
306
       </sect2>
307
308
309
       <sect2>
310
         <title>Mise &agrave; jour de votre catalogue des logiciels 
311
	   port&eacute;s pour la premi&egrave;re fois</title>
312
313
         <para>Comme les logiciels port&eacute;s sont 
314
	   &eacute;tiquet&eacute;s &ldquo;.&rdquo; (i.e. -CURRENT), 
315
	   vous pouvez correctement les synchroniser en
316
	   ajoutant le mot-cl&eacute; <literal>date</literal> (Cf 
317
	   &man.cvsup.1; pour le format exact), vous devriez 
318
	   sp&eacute;cifier une date aussi proche que possible que celle 
319
	   de &ldquo;l'exp&eacute;dition&rdquo; de votre catalogue de 
320
	   logiciel port&eacute;.  Apr&egrave;s que cvsup ait
321
	   cr&eacute;e le fichier &ldquo;checkouts&rdquo; du catalogue des
322
	   logiciels port&eacute;s, qui est pr&eacute;cis&eacute;ment le 
323
	   but de cette premi&egrave;re op&eacute;ration de synchronisation, 
324
	   le champ <literal>date</literal> doit &ecirc;tre retir&eacute;, 
325
	   toutes les mises &agrave; jour suivantes seront faites en 
326
	   douceur.</para>
327
328
         <para>Si vous avez voulu chercher la petite b&ecirc;te dans ce texte,
329
	   vous vous &ecirc;tes probablement aper&ccedil;u des 
330
	   probl&egrave;mes potentiels du processus de mise &agrave; jour des 
331
	   sources.  Un certain nombre de personnes ont eu r&eacute;ellement 
332
	   des probl&egrave;mes.  Vous avez &eacute;t&eacute;
333
	   avertis. :-)</para>
334
      </sect2>
335
   </sect1>
336
</article>

Return to bug 38577