Utilisation de RCS

par Alain Lebigot

Objectifs

RCS est un ensemble d'utilitaires permettant de gérer d'une manière plus souple un projet constitué de fichiers de texte (Texte pur, HTML, programmes sources C, C++, etc...).

La gestion d'un fichier s'effectue principalement à l'aide d'un fichier historique, produit par RCS, qui contient la liste des versions et modifications, et le contrôle d'accès.

Création d'un fichier révisable

Le fichier que l'on veut gérer avec RCS devra comporter deux marqueurs, qui seront expansés par RCS en chaînes de caractères:

On peut, par exemple, mettre ces marqueurs dans un commentaire C++, ou entre des balises HTML <pre> </pre>

Les opérations sont les suivantes:

Pour un fichier bidon.txt, préparez:

Création du fichier historique

Dans le répertoire RCS, on voit maintenant un fichier: bidon.txt,v C'est le fichier historique. Le système est prêt, mais bidon.txt n'est pas encore sauvegardé.

Comment sauvegarder une révision

Lorsqu'on a fini d'éditer une version de bidon.txt, et qu'on veut la sauvegarder, entrer la commande: ci -l bidon.txt

Le fichier bidon.txt a été modifié, le système a ajouté le N° de révision, la date et l'auteur de cette révision. Entrez la commande: rlog bidon.txt. On voit les indications.

RCS file:        RCS/bidon.txt,v;   Working file:    bidon.txt
head:            1.1
locks:           vacatinf: 1.1;  strict
access list:     lebigota  vacatinf
symbolic names:
comment leader:  ""
total revisions: 1;    selected revisions: 1
description:
 essai du fichier bidon.txt
----------------------------
revision 1.1        locked by: vacatinf;
date: 96/12/04 10:53:49;  author: vacatinf;  state: Exp;
Initial revision
=============================================================================

Travail en Solo

A chaque fois qu'on fait un ci -l bidon.txt, il y a sauvegarde et incrément du numéro (1.1, 1.2, 1.3, 1.4...). La liste historique s'allonge. Cette suite s'appelle le tronc.

Pour déverrouiller une révision

Si par mégarde on efface le fichier en cours d'édition, on peut déverrouiller la révision en cours (ex: 1.4.1.1) en faisant:
rcs -u bidon.txt

Obtenir une copie en lecture seule

Pour obtenir une copie en lecture seule d'une révision antérieure, faire
co -rrévision bidon.txt
On obtient la dernière version. Pour reprendre une précédente révision et créer une branche

Pour reprendre une révision antérieure (faire une branche)

faire:
ci bidon.txt
Le fichier de la révision courante est sauvegardé et effacé. Puis, pour obtenir, par exemple, la révision 1.2, faire
co -l1.2 bidon.txt.
On peut éditer à nouveau la rév 1.2, mais pour sauvegarder, on crée une nouvelle branche 1.2.1.1 (révision 1 de la branche 1.2.1), on fait:
ci -l1.2.1 bidon.txt.
On peut ainsi développer une variante d'un fichier.

Travail en équipe

Le système du verrouillage (lock) évite le conflit d'accès à un fichier: Une seule personne à la fois peut modifier une révision. par contre, chaque personne peut développer une branche, et y travailler en solo. Les branches peuvent être développées en parallèle.

Fusion de branches avec le tronc

A la fin du développement, on peut fusionner les branches avec le tronc, une par une. Pour fusionner la branche 1.2.1, la commande est:
co -l -j1.2.1 bidon.txt

Pour en savoir plus:

faire man des commandes suivantes: ci, rcs, co, rlog, rcsdiff, rcsmerge, rcsfile, rcsintro