forked from gleu/pgdocs_fr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cvs.xml
278 lines (239 loc) · 9.88 KB
/
cvs.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
<?xml version="1.0" encoding="UTF-8"?>
<!-- Dernière modification
le $Date$
par $Author$
révision $Revision$ -->
<!-- SAS : 20070322, PG8.2.3 -->
<appendix id="cvs">
<appendixinfo>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fournier</surname>
</author>
<author>
<firstname>Tom</firstname>
<surname>Lane</surname>
</author>
<author>
<firstname>Thomas</firstname>
<surname>Lockhart</surname>
</author>
<author>
<firstname>David</firstname>
<surname>Fetter</surname>
</author>
</authorgroup>
<date>1999-05-20</date>
</appendixinfo>
<title>Dépôt du code source</title>
<para>
Le code source de <productname>PostgreSQL</productname> est stocké et géré à
l'aide du système de contrôle de version <productname>CVS</productname>
(<foreignphrase>Concurrent Version Control System</foreignphrase>). An official mirror using
<productname>Git</productname> is also available, for those who wish to use a
distributed version control system. This mirror is automatically
updated whenever the main repository changes, so it always contains the latest
versions of all branches.
</para>
<para>
Utiliser <productname>git</productname> est la façon la plus flexible pour
travailler avec les sources. Il vous permet de travailler hors-ligne tout
sans avoir un accès constant aux serveurs du projet.
<productname>rsync</productname> via <productname>cvs</productname> vous
permet aussi de travailler hors-ligne mais il leur manque les nombreux autres
avantages de <productname>git</productname>.
</para>
<para>
Notre wiki, cet <ulink
url="http://wiki.postgresql.org/wiki/Working_with_CVS">article</ulink> et ce
<ulink url="http://wiki.postgresql.org/wiki/Working_with_Git">deuxième
article</ulink> contiennent des informations supplémentaires pour travailler
avec CVS et Git.
</para>
<sect1 id="git">
<title>Récupérer les sources via <productname>Git</productname></title>
<para>
Avec <productname>git</productname>, vous ferez une copie du dépôt entier
sur votre machine locale, donc vous aurez accès à tout l'historique et les
branches hors-ligne. C'est la façon la plus rapide et la plus flexible pour
développer et tester les patchs.
</para>
<procedure>
<title>Git</title>
<step>
<para>
Vous aurez besoin d'installer une version de <productname>git</productname>,
que vous pouvez obtenir à partir de son <ulink
url="http://git-scm.com">site</ulink>. Beaucoup de systèmes ont aussi une
version récente de <application>git</application> installée par défaut ou
disponible via le système de packages.
</para>
</step>
<step>
<para>
Pour utiliser le dépôt git, faites un clone du miroir officiel :
<programlisting>
git clone git://git.postgresql.org/git/postgresql.git
</programlisting>
Ceci fera une copie complète du dépôt sur votre machine locale, ce qui
prendra donc un certain temps pour se faire, tout spécialement si vous
avec une connexion Internet lente.
</para>
<para>
Le miroir git est aussi atteignable via le protocole http au cas où, par
exemple, un pare-feu bloque l'accès au protocole git. Remplacez l'URL
ainsi :
<programlisting>
git clone http://git.postgresql.org/git/postgresql.git
</programlisting>
Le protocole http est moins efficace que le protocole git, donc il sera
plus lent.
</para>
</step>
<step>
<para>
Quand vous voulez obtenir les dernières mises à jour sur votre système,
allez dans le répertoire et exécutez :
<programlisting>
git fetch
</programlisting>
</para>
</step>
</procedure>
<para>
<productname>git</productname> peut faire beaucoup plus de choses que de
récupérer le source. Pour plus d'informations, consultez les pages man du
produit ou le <ulink url="http://git-scm.com">site web</ulink>.
</para>
</sect1>
<sect1 id="anoncvs">
<title>Obtenir les sources via <productname>CVS</productname> anonyme</title>
<para>
Pour conserver une arborescence locale à jour, il suffit de
descendre les sources depuis le serveur <productname>CVS</productname>, et d'utiliser
<productname>CVS</productname> pour récupérer les mises à jour de temps
en temps.
</para>
<procedure>
<title>CVS anonyme</title>
<step>
<para>
Une copie locale de <productname>CVS</productname> est nécessaire. Elle
peut être récupérée depuis
<ulink url="http://www.nongnu.org/cvs/"></ulink> (le
site officiel avec la dernière version) ou depuis n'importe quel site
d'archive GNU (parfois pas à jour). Différents systèmes proposent une version
récente de <application>cvs</application> installée par défaut.
</para>
</step>
<step>
<para>
Connexion initiale au serveur
<productname>CVS</productname> :
<programlisting>cvs -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot login</programlisting>
Un mot de passe est demandé. Cela peut être n'importe quelle chaîne de
caractères, à l'exception d'une chaîne vide.
</para>
<para>
Il n'est plus nécessaire, alors, de reproduire cette opération, car le
mot de passe est sauvegardé dans le fichier <filename>.cvspass</filename>
du répertoire personnel.
</para>
</step>
<step>
<para>
Récupération des sources de <productname>PostgreSQL</productname> :
<programlisting>cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql</programlisting>
Les sources de <productname>PostgreSQL</productname> sont ainsi copiées dans un
sous-répertoire <filename>pgsql</filename> du répertoire courant.
</para>
<para>
Cette extraction initiale est un peu plus lente que le simple
téléchargement d'un fichier <filename>tar.gz</filename>. L'avantage de
<productname>CVS</productname> n'apparaît que plus tard, lors de la
mise à jour des fichiers.
</para>
</step>
<step>
<para>
Pour mettre à jour les sources <productname>CVS</productname>
avec la dernière version, se placer dans le sous-répertoire
<filename>pgsql</filename> (<command>cd</command>) et lancer la commande
<programlisting>cvs -z3 update -d -P</programlisting>.
Seules les modifications qui ont eu lieu depuis la dernière
mise à jour sont récupérées. La mise à jour ne dure généralement
que quelques minutes, même avec un simple modem.
</para>
</step>
<step>
<para>
La création d'un fichier <filename>.cvsrc</filename> dans le répertoire
personnel ($HOME) permet d'économiser quelques saisies. Il suffit de lui
ajouter :
<programlisting>cvs -z3
update -d -P</programlisting>
Ceci ajoute l'option <option>-z3</option> à toutes les commandes
<command>cvs</command>, et les options <option>-d</option> et
<option>-P</option> aux commandes <command>cvs update</command>. Il
suffit désormais de lancer <programlisting>cvs update</programlisting>
pour actualiser les fichiers.
</para>
</step>
</procedure>
<para>
<productname>CVS</productname> peut faire de nombreuses autres
choses, comme retrouver des versions antérieures des sources de
<productname>PostgreSQL</productname> plutôt que les dernières
versions de développement.
Pour plus d'informations, consulter le manuel de
<productname>CVS</productname> ou lire la documentation en
ligne à <ulink url="http://www.nongnu.org/cvs/"></ulink>.
</para>
<para>
<productname>CVS</productname> a des inconvénients. Par exemple, la
génération de fichiers diff qui ajoutent ou suppriment des fichiers requière un
accès en écriture au dépôt CVS. Pour contourner ce problème, on peut utiliser
<productname>cvsutils</productname> qui est disponible sur plusieurs
systèmes d'exploitation et au format source sur <ulink
url="http://www.red-bean.com/cvsutils/"></ulink> ou utiliser
<productname>git</productname> ou tout autre système conçu pour fonctionner
hors-ligne.
</para>
<para>
La construction de <productname>PostgreSQL</productname> à partir
de la version CVS nécessite des versions à jour de
<application>bison</application> et <application>flex</application>,
versions qui ne sont pas nécessaire pour la contruction des sources à
partir d'une archive tar car les fichiers qu'ils créent sont
pré-construits dans une archive tar. Vous aurez aussi besoin de Perl. Pour
le reste, les outils nécessaires sont identiques.
</para>
</sect1>
<sect1 id="rsync">
<title>Obtenir les sources via <productname>rsync</productname></title>
<para>
Une autre façon d'utiliser le CVS anonyme pour récupérer les sources de
<productname>PostgreSQL</productname> est
<productname>rsync</productname>, un outil de transfert incrémental de
fichiers. Un avantage majeur à utiliser
<productname>rsync</productname> plutôt que <productname>cvs</productname> est qu'il peut répliquer de façon fiable
le dépôt CVS <emphasis>complet</emphasis> sur le système local, permettant
ainsi un accès local rapide aux opérations <command>cvs</command> telles que
<option>log</option> et <option>diff</option>. Un autre avantage est la
synchronisation rapide avec le serveur
<productname>PostgreSQL</productname> grâce à un protocole de transfert
efficace qui n'envoie que les modifications depuis la dernière mise à jour.
</para>
<para>
Le dépôt CVS peut être récupéré à l'aide de la commande :
<programlisting>
rsync -avzH --delete anoncvs.postgresql.org::pgsql-cvs cvsroot/
</programlisting>
Pour des instructions complètes, lire la section « rsync » dans
les
<ulink url="http://pgfoundry.org/docman/view.php/1000040/4/PGBuildFarm-HOWTO.txt">
instructions de pgbuildfarm</ulink>.
</para>
</sect1>
</appendix>