diff(1)
et diff3(1)
qui sont n�cessaires au fonctionnement de RCS. Ce document
peut �tre reproduit librement, dans sa totalit� ou en partie, pour autant
que tout usage de ce document soit conforme � la notice g�n�rale sur le
copyright de la s�rie des Howto du Linux Documentation
Project. R�f�rez-vous au fichier COPYRIGHT pour plus de d�tails. Envoyez
toute plainte, suggestion, correction et autre �
kiesling@terracom.net, pour que je puisse maintenir ce document
aussi complet et � jour que possible.
RCS, le syst�me de contr�le de r�visions, est un ensemble de programmes qui suivent les changements dans des fichiers textes et contr�lent les acc�s concurrents dans le cadre d'un travail collectif. Il est g�n�ralement utilis� pour maintenir des collections de codes sources. Il est �galement adapt� au suivi des fichiers de documentation.
RCS a �t� �crit par Walter F. Tichy et Paul Eggert. La derni�re version ayant �t� port�e sous Linux est la 5.7. Il existe �galement une version semi officielle multit�che (threaded). La plupart des informations de ce Howto proviennent des pages de manuel de RCS.
RCS comprend le programme rcs(1)
qui contr�le les attributs de
l'archive RCS, ci(1)
et co(1)
, qui enregistrent un fichier dans
l'archive (check in) et extraient des fichiers de l'archive (check
out), ident(1)
, qui recherche un mot-cl� dans une archive RCS,
rcsclean(1)
, qui fait le m�nage en �liminant les fichiers inchang�s et
sur lesquels personne ne travaille, rcsdiff(1)
, qui ex�cute
diff(1)
pour comparer les r�visions, rcsmerge(1)
, qui fusionne
deux branches de d�veloppement en un seul fichier, et rlog(1)
, qui
affiche l'historique des modifications.
Les fichiers archiv�s avec RCS peuvent �tre du texte d'un format
quelconque, ou des fichiers binaires si le diff
utilis� pour g�n�rer
les changements supporte les donn�es sur 8 bits. Les fichiers peuvent
contenir un texte de description pour faciliter le suivi par ident
.
RCS utilise les programmes diff(1)
and diff3(1)
pour g�n�rer les
modifications entre les diverses r�visions. Une archive RCS consiste en la
r�vision initiale - la version 1.1 - et une s�rie de modifications, une
pour chaque r�vision. Chaque fois qu'un fichier est extrait de l'archive �
l'aide de co(1)
, �dit�, puis � nouveau enregistr� dans l'archive avec
ci(1)
, le num�ro de version est incr�ment�, par exemple 1.2, 1.3, 1.4,
etc. pour les r�visions successives.
Les fichiers archives eux-m�mes se trouvent g�n�ralement dans un
sous-r�pertoire ./RCS
, bien que RCS ait d'autres options pour le
stockage des archives.
Pour une vue d'ensemble de RCS, voyez �galement la page de manuel de rcsintro(1)
.
RCS a besoin de diff(1)
et de diff3(1)
pour g�n�rer les
modifications entre les r�visions. La suite d'utilitaires diff doit �tre
install�e sur votre syst�me; RCS s'assure de sa pr�sence lors de
l'installation.
Des binaires pr�-compil�s des diffutils sont disponibles � l'adresse :
ftp://sunsite.unc.edu/pub/Linux/utils/text/diffutils-2.6.bin.ELF.tar.gzainsi que sur les sites miroirs. Si vous devez les compiler, les sources se trouvent � :
ftp://prep.ai.mit.edu/pub/gnu/diffutils-2.7.tar.gzainsi que sur les sites miroirs.
NdT: En France, on trouve les diffutils sur ftp.lip6.fr
aux adresses
suivantes :
ftp://ftp.lip6.fr/pub/linux/sunsite/utils/text/diffutils-2.6.bin.ELF.tar.gz ftp://ftp.lip6.fr/pub/gnu/diffutils-2.7.tar.gz
Les librairies ELF doivent �galement �tre install�es sur votre syst�me pour utiliser les binaires pr�-compil�s. Reportez-vous au ELF-Howto pour plus de d�tails.
Procurez-vous les sources de RCS version 5.7, disponibles � :
ftp://sunsite.unc.edu/pub/Linux/devel/vc/rcs-5.7.src.tar.gzainsi que sur les sites miroirs, en France � :
ftp://ftp.lip6.fr/pub/linux/sunsite/devel/vc/rcs-5.7.src.tar.gz
Apr�s avoir extrait l'archive, il faut configurer RCS pour votre
syst�me. Ceci se fait � l'aide du script configure
dans le r�pertoire
source, qu'il faut ex�cuter en premier. Ceci va g�n�rer une Makefile
ainsi que le conf.sh
appropri� pour votre syst�me. Vous pouvez ensuite
faire
make installce qui va cr�er les binaires. Vous devrez peut-�tre devenir root � un certain moment pour installer les binaires dans les bons r�pertoires.
Le programme rcs(1)
s'occupe de cr�er des archives et de modifier
leurs attributs. Les options de rcs(1)
sont donn�es dans la page de
manuel rcs(1)
.
La mani�re la plus facile de cr�er une archive est d'ex�cuter mkdir
RCS
dans le r�pertoire courant, puis d'initialiser l'archive avec la
commande
rcs -i nom_du_fichier_de_travailCeci va cr�er une archive nomm�e
./RCS/nom_du_fichier_de_travail,v
et r�clamer un texte d�crivant l'archive, mais ne d�pose aucune r�vision
dans l'archive. Vous pouvez enclencher et d�clencher le blocage strict avec
les commandes
rcs -L nom_du_fichier_de_travailet
rcs -U nom_du_fichier_de_travailrespectivement. Il y a d'autres options pour contr�ler l'acc�s � l'archive, fixer son format et ses num�ros de r�visions; tout est expliqu� dans la page de manuel
rcs(1)
.
ci(1)
et co(1)
.ci(1)
et co(1)
sont les commandes utilis�es pour enregistrer un
fichier dans son archive et l'en extraire. La commande ci(1)
peut �galement �tre utilis�e pour les deux op�rations. Dans leur forme la
plus simple, ci(1)
and co(1)
ne n�cessitent que le nom du fichier
de travail.
ci nom_du_fichier_de_travailet
co nom_du_fichier_de_travailLa forme suivante
ci -l nom_du_fichier_de_travailenregistre le ficher en mode bloqu�, et
co -l nom_du_fichier_de_travailest ex�cut� automatiquement. C'est-�-dire,
ci -l
extrait �
nouveau le fichier et le bloque.
ci -u nom_du_fichier_de_travailenregistre le fichier dans l'archive et l'extrait � nouveau sans le bloquer. Dans tous les cas, l'utilisateur se voit demander un message pour l'historique.
ci(1)
cr�e automatiquement une archive RCS si elle n'existe pas d�j�.
Si vous ne sp�cifiez pas de num�ro de r�vision, ci(1)
incr�mente le
dernier num�ro pr�sent dans l'archive et y ajoute la version actuelle. Si
vous sp�cifiez un num�ro de r�vision dans une branche existante, il doit
�tre sup�rieur aux num�ros existants. ci(1)
cr�e une nouvelle branche
si vous sp�cifiez un num�ro dans une branche qui n'existe pas. R�f�rez-vous
� la page de manuel de ci(1)
et co(1)
pour plus de d�tails.
ci(1)
et co(1)
ont de nombreuses options, en mode interactif ou
non. De nouveau, r�f�rez-vous aux pages de manuel de ci(1)
et co(1)
pour plus de d�tails.
La commande rlog(1)
donne des informations sur une archive ainsi que
les commentaires associ�s � chacune des r�visions qu'elle contient. Par
exemple :
rlog nom_du_fichier_de_travailva afficher la liste des r�visions du fichier, avec pour chacune la date, le
userid
de l'auteur et la personne qui a bloqu� le fichier. Vous
pouvez sp�cifier les attributs que vous d�sirez voir.
co(1)
tient � jour une liste de mots-cl�s de l'archive RCS lorsque le
fichier de travail est extrait. Le mot-cl� $Id$
dans un
document sera remplac� par une cha�ne contenant le nom du fichier, le
num�ro de r�vision, la date d'extraction, l'auteur, l'�tat de l'archive et,
le cas �ch�ant, la personne qui a bloqu� le fichier. Le mot cl�
$Log$
est lui remplac� par l'historique du fichier.
Ces mots-cl�s ainsi que d'autres peuvent �tre utilis�s comme cl�s de
recherche dans une archive RCS. R�f�rez-vous � la page de manuel de
ident(1)
pour plus de d�tails.
emacs(1)
Le contr�le de versions dans emacs(1)
fonctionne comme une interface �
RCS. Ce qui suit s'applique � la version 19.34 de GNU Emacs qui est livr�e
avec la majorit� des distributions Linux. Si l'on �dite dans emacs(1)
un fichier qui est sous le contr�le de RCS, la commande
vc-toggle-read-only
(associ�e par d�faut � C-x C-q
) va
enregistrer le fichier dans le syst�me de contr�le de version d'emacs, puis
dans RCS. emacs ouvre un tampon (buffer) dans lequel il est possible
de saisir un message pour l'historique. Une fois ce message saisi, C-c
C-c
termine l'�dition et proc�de � l'enregistrement de la nouvelle
r�vision dans l'archive RCS.
Si vous avez opt� pour un blocage strict, vous devez bloquer � nouveau le
fichier pour l'�diter dans emacs(1)
. Vous pouvez extraire le fichier
� l'aide de la commande %
dans le mode buffer-menu.
Pour plus d'informations, consultez le manuel de GNU Emacs ainsi que les pages info.