tuteurs.ens.fr/logiciels/rcs/index.tml

166 lines
4.6 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
2002-12-16 09:24:58 +01:00
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>RCS</title>
</head>
<body>
<h1>Le contrôle de versions : RCS (<em>Revision Control System</em>)</h1>
2002-12-16 09:24:58 +01:00
<p>
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.
2002-12-16 09:24:58 +01:00
</p>
<p>
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 <a href="../git/">git</a>.
</p>
2002-12-16 09:24:58 +01:00
<h2><a name="base">Commandes de base</a></h2>
<p>
Sans trop rentrer dans les détails (pour cela, faire <code>man
rcsintro</code>), l'utilisation de base peut se résumer à deux
commandes : </p>
2002-12-16 09:24:58 +01:00
<h3><a name="ci">Enregistrer le fichier</a></h3>
<p> <code>ci</code> (de l'anglais <em>check-in</em>) est la
commande avec laquelle on dépose la dernière version du fichier dans l'archive
gérée par RCS.</p>
2002-12-16 09:24:58 +01:00
<p>
Supposons que notre fichier s'appelle <code>monfichier</code>. Voilà ce qui se
passe la première fois que l'on fait le check-in : (en <em>italique</em>,
ce qui est tapé par l'utilisateur) :</p>
2002-12-16 09:24:58 +01:00
<pre>
<span class="prompt">corvette ~ $</span> <em>ci monfichier </em>
2002-12-16 09:24:58 +01:00
RCS/monfichier,v &lt;-- monfichier
initial revision: 1.1
enter description, terminated with ^D or '.':
NOTE: This is NOT the log message!
&gt;&gt;<em>Ceci est une description du fichier</em>
&gt;&gt; <em>.</em>
done
<span class="prompt">corvette ~ $</span> 
2002-12-16 09:24:58 +01:00
</pre>
<p>
Comme vous le voyez, <strong>la dernière ligne doit être un point</strong>,
afin de signaler au programme qu'on a fini d'écrire nos commentaires.
2002-12-16 09:24:58 +01:00
</p>
<p>
Le fichier est sauvé dans l'archive RCS, appelée <code>monfichier,v</code>, 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 <strong>sous-répertoire
<code>RCS/</code></strong>, dans lequel seront sauvegardées automatiquement
2002-12-16 09:24:58 +01:00
les versions de vos fichiers.
</p>
<p>
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).
2002-12-16 09:24:58 +01:00
</p>
<h3><a name="co">Récupérer le fichier</a></h3>
2002-12-16 09:24:58 +01:00
<p><code>co</code> (de l'anglais <em>check-out</em>) est la
commande avec lequel on récupère une version du fichier dans l'archive gérée
2002-12-16 09:24:58 +01:00
par RCS.</p>
<p>
Supposons que vous voulez sortir la toute dernière version de notre fichier,
appelé <code>monfichier</code>. </p>
2002-12-16 09:24:58 +01:00
<pre>
<span class="prompt">corvette ~ $</span> <em>co monfichier </em>
2002-12-16 09:24:58 +01:00
RCS/monfichier,v --&gt; monfichier
revision 1.1
done
<span class="prompt">corvette ~ $</span> 
2002-12-16 09:24:58 +01:00
</pre>
<p>
La version 1.1 de <code>monfichier</code> est rétablie dans le répertoire
2002-12-16 09:24:58 +01:00
courant.
</p>
<p>
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.
2002-12-16 09:24:58 +01:00
</p>
<h2><a name="faq">FAQ</a></h2>
<ul>
<li> <strong>Lisez bien les messages de RCS :</strong> s'il dit
2002-12-16 09:24:58 +01:00
<pre>
writable monfichier exists; overwrite? [ny](n)
</pre>
c'est qu'il y a déjà un fichier de ce nom dans le répertoire. Il vaut mieux
répondre <code>n</code>on et vérifier <em>avant</em> si on peut
l'écraser.</li>
2002-12-16 09:24:58 +01:00
<li> <strong>Vous ne voulez pas que le fichier soit effacé après le
dépôt</strong>. Il faut taper :
2002-12-16 09:24:58 +01:00
<pre>
ci -u monfichier
</pre>
Le fichier contenant les dernières modifications est sauvegardé normalement,
et vous conservez dans votre répertoire le fichier dans son dernier
état.</li>
2002-12-16 09:24:58 +01:00
<li> <strong>Vous voulez rétablir la version 1.4 et pas la plus
récente</strong>. Tapez :
2002-12-16 09:24:58 +01:00
<pre>
co -r1.4 monfichier
</pre></li>
<li> <strong>Vous voulez un historique des versions</strong>, avec les
commentaires que vous aviez mis. Tapez :
2002-12-16 09:24:58 +01:00
<pre>
rcslog monfichier
</pre></li>
<li> <strong>En quoi <code>monfichier</code> diffère-t-il actuellement de la version
1.3 ?</strong> Tapez :
2002-12-16 09:24:58 +01:00
<pre>
rcsdiff -r1.3 monfichier
</pre></li>
</ul>
<p>
Pour plus d'informations, vous pouvez consulter le <a
href="http://www.freenix.org/unix/linux/HOWTO/mini/RCS.html">Mini-HOWTO
RCS</a>.</p>
<div class="metainformation">
Auteur : Roberto Dicosmo (1993?). <date value="from git" />
2002-12-16 09:24:58 +01:00
</div>
</body>
</html>