F.2. Organisation de l'arbre CVS

[Note]

Auteur

Écrit par Marc G. Fournier () le 05/11/1998.

La commande cvs checkout a un paramètre, -r, qui permet d'obtenir une révision particulière d'un module. Ce paramètre permet par exemple de retrouver les fichiers source de la version 6_4 du module 'tc' à tout moment dans le futur.

cvs checkout -r REL6_4 tc

C'est en particulier utile si quelqu'un pense qu'il y a un problème dans cette version, mais que vous ne trouvez pas d'erreur dans la version courante.

[Astuce]

Astuce

Vous pouvez aussi extraire un module tel qu'il était à une date donnée en utilisant l'option -D.

Lorsque vous marquez plus d'un fichier avec une marque particulière, vous pouvez vous représenter la marque comme « une courbe tracée dans la matrice des noms de fichiers et des numéros de révision ». Supposons que nous ayons 5 fichiers avec les révisions suivantes :

             fichier1 fichier2 fichier3 fichier4 fichier5

             1.1      1.1      1.1      1.1  /---1.1*    <-*-  MARQUE
             1.2*-    1.2      1.2    --1.2*-
             1.3  \-- 1.3*-    1.3   /  1.3
             1.4           \   1.4  /   1.4
                            \--1.5*-    1.5
                               1.6

alors la marque MARQUE référence fichier1-1.2, fichier2-1.3, etc.

[Note]

Note

Pour créer une branche de version, à part l'option -b ajoutée sur la ligne de commande, c'est la même chose.

Ainsi, pour créer la version 6.4, j'ai fait :

cd pgsql
cvs tag -b REL6_4

ce qui créera la marque et la branche pour l'arbre de la version.

Pour ceux qui ont un accès CVS™, il est simple de créer des répertoires séparés pour chaque version. D'abord, créez deux répertoires, VERSION et COURANT, afin de ne pas les mélanger. Puis :

cd RELEASE
cvs checkout -P -r REL6_4 pgsql
cd ../CURRENT
cvs checkout -P pgsql

Cela crée deux arbres de répertoires, VERSION/pgsql et COURANT/pgsql. À partir de ce moment, CVS™ gardera trace de quel arbre de référence est dans quel répertoire, et permettra des mises à jour indépendantes de chaque arbre.

Si vous ne travaillez que sur l'arbre CURRENT, faites tout ce qui est indiqué jusqu'à ce que nous ayons commencé à marquer les branches de versions.

Après avoir fait l'extraction initiale d'une branche

cvs checkout -r REL6_4

tout ce que vous faites dans ce répertoire est limité à cette branche. Si vous appliquez une correction à cette structure de répertoires et faites un

cvs commit

dans ce répertoire, la correction est appliquée à cette branche et seulement à cette branche.