Previous Next Contents

3. Commandes de base

L'interface de RCS est relativement simple et seulement deux commandes sont suffisantes dans la plupart des cas : ci et co.

Nous supposons l'existence d'un fichier nommé foo.c. Le source du fichier est le suivant :

#include <stdio.h>

main()
{ 
  printf("Hello world\n");
}

Nous allons créer un nouveau groupe de révisions avec foo.c comme révision initiale (1.1). Le groupe sera stocké dans le fichier nommé foo.c,v. Par défaut, le fichier foo.c sera effacé. Pour cela, nous utilisons la commande de check-in:

 ci foo.c 

Cette commande demande également une description pour le groupe.

foo.c,v <-- foo.c enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>>

Par exemple, nous tapons :

>> programme hello world.
>> .

Le texte décrit ce que le programme fait, et ci rappelle que ce n'est pas une entrée dans le journal. Les commandes ci ultérieures demanderont une entrée du journal, laquelle résumera les modifications apportées. Ces messages doivent être brefs, décrivant les changements apportés.

Pour extraire la dernière révision dans un groupe, on utilise la commande de check-out :

 co foo.c 

Le fichier foo.c est recréé, mais en lecture seule. On peut utiliser le fichier pour le compiler par exemple. En effet, pour installer un logiciel, on extrait toutes les sources en lecture seule, on les compile et on efface les sources.

Pour pouvoir modifier le fichier foo.c, nous devons utiliser l'option -l :

 co -l foo.c 

Cela permet d'extraire le fichier foo.c mais en posant un verrou sur le fichier. Cela signifie que vous, et vous seul, avez la permission de faire un check-in sur une nouvelle révision du fichier (ce qui est nécessaire dans le cas où plusieurs personnes travaillent sur un même groupe de révisions). Le fichier foo.c en alors en écriture pour vous.

Le système peut être configuré avec la caractéristique du 'strict locking'. Tous les fichiers RCS sont initialisés de telle sorte que les opérations de check-in nécessitent un verrou sur la révision précédente.

Pour désactiver le strict locking sur un fichier individuel, utilisez la commande :

 rcs -U foo.c 

Pour activer le strict locking sur un fichier individuel, utilisez la commande :

 rcs -L foo.c 

La notion de locking est abordée dans un chapitre ultérieur.

Nous pouvons alors éditer le fichier foo.c, et une fois les modifications effectuées, en faire une nouvelle révision par la commande:

 ci foo.c 

La commande nous demande alors le message du journal :

foo.c,v <-- foo.c
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single '.' or end of file:
>> Affichage 10 fois du message
>> .

La nouvelle révision est la 1.2.

Si vous obtenez lors du ci, le message d'erreur suivant (en supposant que le login de l'utilisateur soit mad):

ci error: no lock set by mad

c'est que vous avez oublié de verrouiller la révision lors du co.

On peut noter, que pour des raisons pratiques, tous les fichiers RCS (*,v) peuvent être déplacés dans un sous-répertoire nommé RCS. Donc, prenez l'habitude de créer ce répertoire avant de commencer à créer vos révisions. RCS l'utilisera automatiquement.

Si vous ne désirez pas effacer le fichier de travail lors du check-in, vous devez utiliser soit l'option -l, qui entraîne un locking, soit l'option -u qui n'entraîne pas de locking (ces options entraînent un appel à la commande co):

ci -l foo.c

Les commandes ci et co sont les deux commandes de bases de RCS.


Previous Next Contents