Le contrôle de versions : RCS (Revision Control System)

C'est un programme très simple mais puissant qui permet de garder l'historique d'un fichier. Son intérêt est que vos fichiers évoluent au fur et à mésure que vous les modifiez, et sans un outil de gestion de version, on peut difficilement gérer les anciennes versions.

Attention, ce logiciel est assez ancien et peu utilisé de nos jours. Pour une utilisation personnelle à la manière de ce tutoriel, on utilise plus souvent git.

Commandes de base

Sans trop rentrer dans les détails (pour cela, faire man rcsintro), l'utilisation de base peut se résumer à deux commandes :

Enregistrer le fichier

ci (de l'anglais check-in) est la commande avec laquelle on dépose la dernière version du fichier dans l'archive gérée par RCS.

Supposons que notre fichier s'appelle monfichier. Voilà ce qui se passe la première fois que l'on fait le check-in : (en italique, ce qui est tapé par l'utilisateur) :

corvette ~ $ ci monfichier 
RCS/monfichier,v <-- monfichier
initial revision: 1.1
enter description, terminated with ^D or '.':
NOTE: This is NOT the log message!
>>Ceci est une description du fichier
>> .
done
corvette ~ $ 

Comme vous le voyez, la dernière ligne doit être un point, afin de signaler au programme qu'on a fini d'écrire nos commentaires.

Le fichier est sauvé dans l'archive RCS, appelée monfichier,v, et effacé. Par défaut, l'archive se trouve dans le même répertoire que le fichier de départ. Il est plus pratique d'avoir un sous-répertoire RCS/, dans lequel seront sauvegardées automatiquement les versions de vos fichiers.

La première fois que vous enregistrez un fichier, donnez une description générale du fichier. Les autres fois, vous mettrez juste un commentaire sur la version (modifications apportées, date, etc).

Récupérer le fichier

co (de l'anglais check-out) est la commande avec lequel on récupère une version du fichier dans l'archive gérée par RCS.

Supposons que vous voulez sortir la toute dernière version de notre fichier, appelé monfichier.

corvette ~ $ co monfichier 
RCS/monfichier,v --> monfichier
revision 1.1
done
corvette ~ $ 

La version 1.1 de monfichier est rétablie dans le répertoire courant.

RCS ne sauvegarde pas des copies intégrales de chacune des versions : chaque nouvelle version contient en fait les différences par rapport à la précédente. C'est ce qui permet de gérer les différentes versions, sans utiliser inutilement de la place disque en stockant 10 fois les mêmes données.

FAQ

Pour plus d'informations, vous pouvez consulter le Mini-HOWTO RCS.

Auteur : Roberto Dicosmo (1993?).