RCS désigne un ensemble d’outils permettant de conserver l’historique des modifications apportées à un fichier. En ce sens, il est fort utile afin de suivre les évolutions d’un fichier de configuration et de revenir, le cas échéant à une version antérieure. RCS permet également de gérer l’accès concurrent à un fichier, dans le cas d’un travail en équipe.
RCS est fourni avec la plupart des systèmes UNIX mais il est possible au besoin d’en télécharger les sources à l’URL ftp://ftp.gnu.org/pub/gnu/rcs/.
- Principe de fonctionnement
RCS stocke la dernière version d’un fichier, ainsi que chacune des modifications permettant de générer les versions précédentes dans un fichier appelé fichier RCS. Le nom de ce fichier est construit en ajoutant le suffixe, v (oui, oui, avec une virgule, pas un point) au nom du fichier à gérer. Nous utiliserons comme exemple le fichier toto, dont le fichier RCS correspondant s’appelle donc toto,v. Par défaut, le fichier RCS est stocké dans le même répertoire que le fichier principal. Ceci peut rapidement multiplier le nombre de fichiers dans ce répertoire et y noyer les fichiers importants. C’est pourquoi RCS stocke plutôt ses fichiers dans un sous-répertoire RCS lorsqu’il existe. Il est donc recommandé d’utiliser cette possibilité.
2. Premier enregistrement d’un fichier
Afin de pouvoir gérer un fichier avec RCS, il faut tout d’abord créer le fichier RCS (ce qui suppose que le fichier principal existe déjà). Ceci se fait grâce à la commande ci (check in) :
La création du fichier RCS s’accompagne d’un commentaire (qui, dans un cas réel, sera certainement plus intelligent que celui de l’exemple).
L’option -u indique à ci qu’il doit conserver le fichier principal (qui aurait été effacé sans cela). En revanche, tout droit d’accès en écriture lui est supprimé (il faudra passer par une autre commande pour pouvoir modifier le fichier).
3. Modification d’un fichier
Avant de pouvoir modifier un fichier, il faut utiliser la commande co (check out) afin de lui rendre les droits en écriture et d’empêcher toute modification simultanée par quelqu’un d’autre (ce qu’indique l’option -l) :
On peut alors modifier le fichier à loisir. Toute autre tentative d’utiliser co se soldera par un échec, ce qui évite que plusieurs personnes modifient le même fichier au même moment.
Une fois les modifications terminées, on peut les enregistrer dans le fichier RCS et libérer l’accès au fichier :
4. Travail en groupe
Comme la commande co permet d’éviter l’accès simultané de plusieurs personnes au même fichier, RCS se révèle fort utile lorsqu’on travaille en équipe sur un ensemble de fichiers. À cet effet, il faut que chacun ait accès en écriture au répertoire RCS contenant les fichiers RCS. Pour cela, il suffit que les personnes en question appartiennent au même groupe UNIX, de même que le répertoire RCS.