PageWikiniArchive Aucune page n'a de lien vers ConvCodUtilisationDeCVS.

Utilisation de CVS


Cette partie ne s'applique qu'aux packages qui utilisent CVS à cvs.php.net.

Inclure le mot clé CVS $Id$ dans chaque fichier. Lorsque le fichier est édité, ajouter ce tag s'il n'est pas déjà présent (ou remplacer toute forme déjà existante du type "Dernière Modification :", etc.).

Le reste de cette partie suppose que vous avez les connaissances de base des tags CVS et des branches.

Les tags CVS sont utilisés pour identifier quelles versions des fichiers de votre package appartiennent à une distribution (release) particulière. Ci-dessous se trouve la liste des tags CVS obbligatoires ou suggérés :

RELEASE_n_n


(obligatoire) A utiliser pour identifier une release. Si vous ne l'utilisez pas, il n'y a aucun moyen de revenir en arrière et récupérer votre package depuis le serveur CVS dans l'état dans lequel il était au moment de la release.

Ci-dessous se trouve un exemple décrivant comment utiliser les tags pour la release 1.2 du package "Money_Fast" :

$ cd pear/Money_Fast
$ cvs tag RELEASE_1_2
T Fast.php
T README
T package.xml

En faisant cela vous permettez au site web PEAR de vous faire continuer le processus de release.

QA_n_n


(branche, optionel) Si vous pensez que vous devez faire une pre-release (candidate release), faire une branche est peut être une bonne idée car cela permet d'isoler la release et y appliquer uniquement les corrections majeures avant la véritable release. Pendant ce temps les développements normaux peuvent se poursuivre dans le train principal.

Voici une exemple sur la façon de créer une branche QA :

$ cvs tag QA_2_0_BP
...
$ cvs rtag -b -r QA_2_0_BP QA_2_0
$ cvs update -r QA_2_0
$ cvs tag RELEASE_2_0RC1
...and then the actual release, from the same branch:
$ cvs tag RELEASE_2_0

Le tag "QA_2_0_BP" est un "point de dérivation" qui est le point de départ d'une branche. C'est toujours une bonne idée de démarrer une branche CVS depuis un tel point. Les branches de maintenance peuvent utiliser le tag RELEASE comme leur point de dérivation.


MAINT_n_n


(branche, optionel) Si vous avez besoin de faire une "micro-release" (par exemple 1.2.1 et ainsi de suite après 1.2), vous pouvez aussi, si votre train principal est trés actif et que vous ne voulez que des modifications mineures entre vos micro-release, utiliser une branche pour cela.

Seul le tag RELEASE est obligaatoire, le reste est recommandé pour vous simplifier la vie.