161 lines
4.3 KiB
Text
161 lines
4.3 KiB
Text
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|||
|
<!DOCTYPE html
|
|||
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
|||
|
"tuteurs://DTD/tml.dtd">
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<title>RCS</title>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
|
|||
|
<h1>Le contr<74>le de versions<6E>: RCS (<em>Revision Control System</em>)</h1>
|
|||
|
|
|||
|
<p>
|
|||
|
C'est un programme tr<74>s simple mais puissant qui permet de garder
|
|||
|
l'historique d'un fichier. Son int<6E>r<EFBFBD>t est que vos fichiers <20>voluent au fur et
|
|||
|
<EFBFBD> m<>sure que vous les modifiez, et sans un outil de gestion de version, on
|
|||
|
peut difficilement g<>rer les anciennes versions.
|
|||
|
</p>
|
|||
|
|
|||
|
<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 <20> deux
|
|||
|
commandes<EFBFBD>: </p>
|
|||
|
|
|||
|
<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<6E>re version du fichier dans l'archive
|
|||
|
g<EFBFBD>r<EFBFBD>e par RCS.</p>
|
|||
|
|
|||
|
<p>
|
|||
|
Supposons que notre fichier s'appelle <code>monfichier</code>. Voil<69> ce qui se
|
|||
|
passe la premi<6D>re fois que l'on fait le check-in<69>: (en <em>italique</em>,
|
|||
|
ce qui est tap<61> par l'utilisateur)<29>:</p>
|
|||
|
|
|||
|
<pre>
|
|||
|
<span class="prompt">corvette ~ $</span><3E><em>ci monfichier </em>
|
|||
|
RCS/monfichier,v <-- monfichier
|
|||
|
initial revision: 1.1
|
|||
|
enter description, terminated with ^D or '.':
|
|||
|
NOTE: This is NOT the log message!
|
|||
|
>><em>Ceci est une description du fichier</em>
|
|||
|
>> <em>.</em>
|
|||
|
done
|
|||
|
<span class="prompt">corvette ~ $</span><3E>
|
|||
|
</pre>
|
|||
|
|
|||
|
<p>
|
|||
|
Comme vous le voyez, <strong>la derni<6E>re ligne doit <20>tre un point</strong>,
|
|||
|
afin de signaler au programme qu'on a fini d'<27>crire nos commentaires.
|
|||
|
</p>
|
|||
|
|
|||
|
|
|||
|
<p>
|
|||
|
Le fichier est sauv<75> dans l'archive RCS, appel<65>e <code>monfichier,v</code>, et
|
|||
|
effac<EFBFBD>. 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<72>es automatiquement
|
|||
|
les versions de vos fichiers.
|
|||
|
</p>
|
|||
|
|
|||
|
<p>
|
|||
|
La premi<6D>re fois que vous enregistrez un fichier, donnez une description
|
|||
|
g<EFBFBD>n<EFBFBD>rale du fichier. Les autres fois, vous mettrez juste un commentaire sur la
|
|||
|
version (modifications apport<72>es, date, etc).
|
|||
|
</p>
|
|||
|
|
|||
|
<h3><a name="co">R<>cup<75>rer le fichier</a></h3>
|
|||
|
<p><code>co</code> (de l'anglais <em>check-out</em>) est la
|
|||
|
commande avec lequel on r<>cup<75>re une version du fichier dans l'archive g<>r<EFBFBD>e
|
|||
|
par RCS.</p>
|
|||
|
|
|||
|
<p>
|
|||
|
Supposons que vous voulez sortir la toute derni<6E>re version de notre fichier,
|
|||
|
appel<EFBFBD> <code>monfichier</code>. </p>
|
|||
|
|
|||
|
<pre>
|
|||
|
<span class="prompt">corvette ~ $</span><3E><em>co monfichier </em>
|
|||
|
RCS/monfichier,v --> monfichier
|
|||
|
revision 1.1
|
|||
|
done
|
|||
|
<span class="prompt">corvette ~ $</span><3E>
|
|||
|
</pre>
|
|||
|
|
|||
|
<p>
|
|||
|
La version 1.1 de <code>monfichier</code> est r<>tablie dans le r<>pertoire
|
|||
|
courant.
|
|||
|
</p>
|
|||
|
|
|||
|
<p>
|
|||
|
RCS ne sauvegarde pas des copies int<6E>grales de chacune des versions<6E>:
|
|||
|
chaque nouvelle version contient en fait les diff<66>rences par rapport <20> la
|
|||
|
pr<EFBFBD>c<EFBFBD>dente. C'est ce qui permet de g<>rer les diff<66>rentes versions, sans
|
|||
|
utiliser inutilement de la place disque en stockant 10 fois les m<>mes donn<6E>es.
|
|||
|
</p>
|
|||
|
|
|||
|
<h2><a name="faq">FAQ</a></h2>
|
|||
|
|
|||
|
<ul>
|
|||
|
|
|||
|
<li> <strong>Lisez bien les messages de RCS<43>:</strong> s'il dit
|
|||
|
|
|||
|
<pre>
|
|||
|
writable monfichier exists; overwrite? [ny](n)
|
|||
|
</pre>
|
|||
|
|
|||
|
c'est qu'il y a d<>j<EFBFBD> un fichier de ce nom dans le r<>pertoire. Il vaut mieux
|
|||
|
r<EFBFBD>pondre <code>n</code>on et v<>rifier <em>avant</em> si on peut
|
|||
|
l'<27>craser.</li>
|
|||
|
|
|||
|
<li> <strong>Vous ne voulez pas que le fichier soit effac<61> apr<70>s le
|
|||
|
d<EFBFBD>p<EFBFBD>t</strong>. Il faut taper<65>:
|
|||
|
|
|||
|
<pre>
|
|||
|
ci -u monfichier
|
|||
|
</pre>
|
|||
|
|
|||
|
Le fichier contenant les derni<6E>res modifications est sauvegard<72> normalement,
|
|||
|
et vous conservez dans votre r<>pertoire le fichier dans son dernier
|
|||
|
<EFBFBD>tat.</li>
|
|||
|
|
|||
|
|
|||
|
<li> <strong>Vous voulez r<>tablir la version 1.4 et pas la plus
|
|||
|
r<EFBFBD>cente</strong>. Tapez<65>:
|
|||
|
|
|||
|
<pre>
|
|||
|
co -r1.4 monfichier
|
|||
|
</pre></li>
|
|||
|
|
|||
|
<li> <strong>Vous voulez un historique des versions</strong>, avec les
|
|||
|
commentaires que vous aviez mis. Tapez<65>:
|
|||
|
|
|||
|
<pre>
|
|||
|
rcslog monfichier
|
|||
|
</pre></li>
|
|||
|
|
|||
|
<li> <strong>En quoi <code>monfichier</code> diff<66>re-t-il actuellement de la version
|
|||
|
1.3<EFBFBD>?</strong> Tapez<65>:
|
|||
|
|
|||
|
<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<75>: Roberto Dicosmo (1993?). Derni<6E>re modification le 2002-12-16.
|
|||
|
</div>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|
|||
|
|
|||
|
|