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.
Sans trop rentrer dans les détails (pour cela, faire man
rcsintro
), l'utilisation de base peut se résumer à deux
commandes :
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).
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.
writable monfichier exists; overwrite? [ny](n)c'est qu'il y a déjà un fichier de ce nom dans le répertoire. Il vaut mieux répondre
n
on et vérifier avant si on peut
l'écraser.ci -u monfichierLe fichier contenant les dernières modifications est sauvegardé normalement, et vous conservez dans votre répertoire le fichier dans son dernier état.
co -r1.4 monfichier
rcslog monfichier
monfichier
diffère-t-il actuellement de la version
1.3 ? Tapez :
rcsdiff -r1.3 monfichier
Pour plus d'informations, vous pouvez consulter le Mini-HOWTO RCS.