Linux |
CentOS 5.3 |
|
cvs(1) |
cvs − Concurrent Versions System |
cvs [ options_cvs ] |
commande_cvs [ options_commande ] [ arguments_commande ] |
Cette page de manuel est un condensé des possibilités de cvs. La documentation officielle est celle du manuel écrit par Per Cederqvist, qu’il est possible de consulter soit via la commande info cvs, soit comme indiqué dans la section VOIR AUSSI. |
cvs utilise un vocabulaire spécifique à la gestion de versions. Afin de ne pas dérouter les lecteurs connaissant cvs, nous utiliserons pour certains termes le mot anglais, tandis que d’autres seront utilisés en français. Voici ici la liste des termes traduits : |
repository : référentiel |
tag : marqueur |
CVS est un outil de gestion de versions, permettant de conserver d’anciennes versions de fichiers (bien souvent du code source), et de garder une trace de qui, quand et pourquoi une modification a été effectuée, à la manière de RCS ou SCCS. A la différence d’autres outils plus simplistes, cvs ne travaille pas sur un fichier ou un répertoire à la fois, mais sur des hiérarchies de répertoires où tous les fichiers sont suivis. cvs facilite la gestion de releases et le contrôle de l’édition de fichiers par plusieurs personnes différentes. cvs permet le déclenchement d’événements permettant de tracer/contrôler diverses opérations. cvs est également adapté à une utilisation sur des réseaux à faible débit. cvs conserve une seule instance de chaque fichier. Cette copie est appelée « référentiel », et contient toutes les informations permettant l’extraction des versions précédentes, à la fois sur des critères de « marqueurs » ou de dates. |
cvs fournit un grand nombre de commandes (cf commande_cvs dans la section Synopsis), chacune possédant un grand nombre d’options pour satisfaire les multiples besoins de la gestion de fichiers dans un environnement distribué. Cependant, vous n’aurez pas besoin de maîtriser tous les secrets de cvs pour travailler efficacement ; 5 commandes sont en fait suffisantes pour effectuer les tâches classiques sur un référentiel. |
cvs checkout modules... |
La tâche préliminaire à tout travail avec cvs : crée une copie personnelle des fichiers d’un ou plusieurs modules. Vous pouvez travailler avec cette copie sans interférer avec le travail des autres personnes. Un sous-répertoire au minimum est créé lors de cette opération. Il est également possible de ne récupérer que des sous-répertoires d’un module donné. |
cvs update |
Utilisez cette commande dans un répertoire contenant un module lorsque vous souhaitez mettre à jour votre copie personnelle des modifications qui ont pu être effectuées par d’autres personnes sur le référentiel. |
cvs add fichier... |
Utilisez cette commande pour marquer des fichiers de votre répertoire de travail comme étant à ajouter au référentiel. Ces fichiers ne seront réellement ajoutés au référentiel que lorsque vous utiliserez la commande « cvs commit ». Note : la commande « cvs add » n’est utilisée que pour ajouter de nouveaux fichiers dans un module déjà créé. Il faut utiliser la commande « cvs import » pour créer un nouveau module dans le référentiel. |
cvs remove fichier... |
Utilisez cette commande pour demander la suppression de fichiers du référentiel (après les avoir effacés de votre répertoire de travail). Ces fichiers ne sont réellement supprimés du référentiel que lorsque vous utiliserez la commande « cvs commit ». |
cvs commit fichier... |
Utilisez cette commande lorsque vous décidez de rendre publiques vos modifications sur un module aux autres personnes. |
Une ligne de commande cvs contient des options_cvs (facultatives) s’appliquant à l’exécutable cvs ; une commande_cvs, donnant l’action à effectuer sur le référentiel ; des options_de_commande et des arguments_de_commande précisant l’opération exacte à exécuter par la commande_cvs. Attention : vous devez prendre garde à l’endroit où vous placez les options dans la ligne de commande par rapport à la commande_cvs. La même option peut avoir plusieurs significations ; à gauche de la commande_cvs c’est une option s’appliquant à l’exécutable cvs, à droite, c’est une option s’appliquant à la commande_cvs. Seules deux situations permettent l’absence de commande_cvs : « cvs -H » ou « cvs --help » qui affiche la liste des commandes disponibles, et « cvs −v » ou « cvs --version » qui affiche la version de cvs. |
Depuis la version 1.6, cvs gère les noms d’options courts ou longs (standard GNU). Cependant, seul un petit nombre d’options longues sont disponibles ; elles sont affichées entre crochets après le nom d’option court. |
−H [ --help ] |
Affiche les informations relatives à une commande_cvs (mais n’exécute pas cette commande). Si vous ne précisez pas de commande, « cvs -H » affiche la liste des commandes disponibles. |
−Q |
Rend l’exécution de la commande très silencieuse ; la commande n’affichera de sortie qu’en cas de réel problème. |
||
−q |
Rend l’exécution de la commande silencieuse ; les messages d’information tels que ceux concernant le parcours récursif de répertoires sont supprimés. |
−b bindir |
Utilise bindir comme répertoire où les programmes RCS sont situés (pour les versions de CVS antérieures à 1.9). Remplace le contenu de la variable d’environnement RCSBIN. Cette valeur doit être un chemin absolu. |
−d racine_du_référentiel_CVS |
Utilise racine_du_référentiel_CVS comme répertoire racine du référentiel. Remplace le contenu de la variable d’environnement CVSROOT. Cette valeur doit être un chemin absolu. |
−e editeur |
Utilise editeur comme programme de saisie des informations de mise à jour. Remplace le contenu des variables CVSEDITOR , VISUAL , et EDITOR. |
−f |
Empêche la lecture du fichier de configuration de cvs (~/.cvsrc). |
||
−l |
N’enregistre pas la commande_cvs dans l’historique (mais l’exécute quand même). Se reporter à la description de la commande history pour de plus amples renseignements. NdT : option supprimée dans cvs 1.11.13 |
||
−n |
N’effectue aucun changement sur les fichiers. La commande_cvs, est exécutée, mais sans ajout, mise à jour, suppression ou fusion de fichiers. |
||
−t |
Affiche une trace lors de l’exécution ; chaque étape de la commande_cvs affiche un message. Cette option est souvent utilisée en conjonction avec −n pour examiner l’impact d’une commande_cvs inconnue. |
||
−r |
Les fichiers de travail sont créés en lecture seule. Déclarer la variable d’environnement CVSREAD produit le même effet. |
−v [ --version ] |
Affiche le numéro de version et les informations de copyright de cvs. |
−w |
Les fichiers de travail sont créés en lecture-écriture (mode par défaut). Annule la déclaration de la variable d’environnement CVSREAD . |
||
−x |
Crypte les communications entre client et serveur. Au moment de l’écriture de ce texte (NdT : et non de sa traduction), ceci n’est possible qu’avec une connexion Kerberos. |
−z niveau_de_compression |
Utilise gzip pour compresser les données lors des transferts réseau. L’exécutable GNU gzip doit être présent dans le path du client et du serveur. |
Il est indispensable de fournir une commande_cvs à cvs, sauf dans le cas « cvs −H » (demande d’aide). Toute commande_cvs possède à son tour un certain nombre d’options et d’arguments. Certaines options sont communes à plusieurs commande_cvs. Il est possible d’afficher une aide succinte sur l’utilisation d’une commande en utilisant l’option −H avec cette commande. |
Lorsque l’exécutable cvs est lancé, celui-ci lit le fichier .cvsrc. Il est possible d’empêcher cette lecture avec l’option −f. Le fichier .cvsrc contient une liste des commandes CVS, accompagnées d’une liste d’arguments. Ces arguments sont automatiquement ajoutés à la ligne de commande lors de l’utilisation de la commande CVS. Il n’est possible de mettre qu’une seule commande par ligne. Exemple : diff −c signifie que la commande ‘cvs diff’ sera toujours lancée avec l’option −c, en plus des options pouvant être fournies sur la ligne de commande. Ici, les différences entre fichiers seront affichées avec leur contexte pour tout appel de la commande ‘cvs diff’. Il est possible de spécifier des paramètres applicables à l’exécutable cvs en utilisant le mot clé cvs. Par exemple, la ligne : cvs -q signifie que toutes les commandes ‘cvs’ utiliseront l’option -q. |
Voici un bref aperçu des commandes cvs : |
add |
Ajoute un nouveau fichier ou répertoire au référentiel, qui devra être validé par un « cvs commit ». Cette commande ne peut être lancée que dans un répertoire précédemment créé par la commande « cvs checkout ». Cette commande ne modifie que le répertoire de travail. |
|
admin |
Exécute des fonctions d’administration sur le référentiel. Cette commande modifie le référentiel. Il est nécessaire d’avoir un répertoire de travail, mais celui-ci n’est pas modifié. |
checkout |
Rapatrie une version des fichiers sources dans le répertoire de travail. Cette commande modifie le répertoire de travail. |
commit |
Applique les modifications (ajouts, modifications et suppressions) effectuées dans le répertoire de travail au référentiel. Cette commande ne modifie que le référentiel. |
|
diff |
Affiche les différences entre un ou plusieurs fichiers du répertoire de travail et leur version dans le référentiel, ou entre deux versions du référentiel. Cette commande ne modifie ni le répertoire de travail ni le référentiel. |
|
export |
Rapatrie une version des fichiers sources dans le répertoire de travail. A la différence de « cvs checkout », aucun répertoire destiné au contrôle des sources par cvs n’est créé. Par conséquent, il est impossible d’exécuter un « cvs commit » dans un répertoire créé par « cvs export ». De plus, il est nécessaire de préciser un marqueur symbolique spécifiant la version à rapatrier. Cette commande est essentiellement utilisée pour livrer une version stable sur un site. Le référentiel n’est pas modifié. |
history |
Affiche la liste des commandes cvs exécutées sur un fichier ou dans un répertoire spécifique du référentiel. Cette commande ne change ni le référentiel ni le répertoire de travail. L’historique des commandes n’est conservé que si le fichier « $CVSROOT/CVSROOT/history » est présent (voir cvs(5)). |
import |
Incorpore des modifications hors-site au référentiel, en tant que « vendor branch ». Cette commande modifie le référentiel. |
||
init |
Initialise un référentiel par l’ajout d’un sous-répertoire CVSROOT et de fichiers essentiels. Il est nécessaire d’initialiser le référentiel par cette commande ou tout autre moyen avant de pouvoir l’utiliser. |
||
log |
Affiche des informations de log. Ne modifie ni le référentiel ni le répertoire de travail. |
||
rdiff |
Génère un fichier de correctif comprenant toutes les différences sur les fichiers entre deux releases du référentiel. Cette commande ne modifie ni le référentiel, ni le répertoire de travail. |
release |
Annule une commande « cvs checkout ». Cette commande peut supprimer le répertoire de travail, mais ne modifie pas le référentiel. |
remove |
Supprime un fichier du référentiel. La suppression devra être validée par un « cvs commit » sur ce même fichier. Cette commande modifie le répertoire de travail, mais ne modifie pas le référentiel. |
|
rtag |
Pose un marqueur symbolique sur une révision d’un ou plusieurs fichiers d’un référentiel. Se reporter à ‘cvs tag’. Cette commande modifie le référentiel, mais ne nécessite ni ne modifie le répertoire de travail. |
|
status |
Affiche l’état actuel des fichiers : dernière version, version dans le répertoire de travail et si celle-ci a été modifiée, et de manière facultative, les marqueurs symboliques sur le fichier. Cette commande ne modifie ni le référentiel, ni le répertoire de travail. |
|
tag |
Pose un marqueur symbolique sur des fichiers d’un référentiel. Par défaut, marque la dernière révision synchronisée avec le répertoire de travail. Modifie le référentiel ; utilise le répertoire de travail sans le modifier. |
|
update |
Synchronise le répertoire de travail avec le référentiel. Les merges sont effectués automatiquement si possible ; un avertissement est affiché si une intervention manuelle est nécessaire. Cette commande modifie le répertoire de travail, mais ne modifie pas le référentiel. |
Cette section décrit les options_des_commandes disponibles pour la majorité des commandes_cvs. Certaines commandes ne reconnaissent pas toutes les options, notamment si celles-ci n’ont pas de sens pour la commande. Si une option présente dans cette liste est reconnue par une commande, elle aura le même effet pour toute autre commande. Par contre, les effets peuvent être différents pour les options qui seront décrites plus tard dans le document et spécifiques à une commande. Avertissement : la commande history (historique) déroge à cette règle : plusieurs options présentes ici ont un effet différent pour cette commande. |
−D date |
Utilise la version la plus récente précédant date (cette date doit être antérieure à la date du jour). Un grand nombre de formats sont reconnus, dont le format ISO (« 1972-09-24 20:05 ») ou le format Internet (« 24 Sep 1972 20:05 »). La date utilise le fuseau horaire local, à moins qu’un autre fuseau horaire ne soit précisé. Cette donnée est « collante » lorsque vous rapatriez un fichier ; en effet, les mises à jour futures utiliseront cette même date sauf demande contraire (se reporter à la description de la commande update). −D est disponible pour les commandes « checkout », « diff », « history », « export », « rdiff », « rtag » et « update ». Quelques exemples : |
1 month ago (un mois auparavant) 2 hours ago (deux heures auparavant) 400000 seconds ago (400000 secondes auparavant) last year (l’année dernière) last Monday (le dernier lundi) yesterday (hier) a fortnight ago (l’avant-veille) 3/31/92 10:00:07 PST January 23, 1987 10:05pm 22:00 GMT |
−f |
Lorsqu’une date ou un marqueur est précisé pour une commande cvs, celle-ci ignore les fichiers ne contenant pas ce marqueur ou n’existant pas à cette date. Précisez l’option -f pour rapatrier les fichiers n’ayant aucune correspondance (la dernière version est utilisée dans ce cas). −f est utilisable avec les commandes « checkout », « export », « rdiff », « rtag » et « update ». |
−k indicateur |
Modifie la prise en charge des mots-clés. −f est disponible pour les commandes « add », « checkout », « diff », « export », « rdiff » et « update ». Cette donnée est « collante » lorsque vous l’utilisez pour rapatrier une copie d’un fichier (c’est-à -dire lorsqu’elle est utilisée avec les commandes checkout ou update). Les indicateurs les plus utiles sont −ko et −kb (pour les fichiers binaires) et −kv pour les export où il est important de conserver les informations des mots-clés pour un import ultérieur. |
−l |
La commande cvs n’est exécutée que dans le répertoire courant, sans parcourir les sous-répertoires. Cette option est utilisable avec les commandes « checkout », « commit », « diff », « export », « remove », « rdiff », « rtag », « status », « tag » et « update ». |
||
−n |
Cette option permet de ne pas lancer de programme externe lors de l’utilisation des commandes checkout / commit / tag ou update (il est en effet possible de paramétrer par module l’exécution d’un programme externe à chacune de ces tâches). Cette option est utilisable avec les commandes « checkout », « commit », « export » et « rtag ». Avertissement : cette option est différente de l’option ‘cvs −n’ utilisée à gauche d’une commande cvs ! |
||
−P |
Ãlague (supprime) les répertoires vides après un mise à jour de données, que ce soit par une commande checkout ou update. Les répertoire vides (sans fichiers gérés par CVS) sont normalement laissés tels quels. L’option −P permet de supprimer sans confirmation ces répertoires vides. Les répertoires ne sont supprimés que dans la version personnelle et non dans le référentiel. Cette option est automatiquement utilisée lorsque les options −r ou −D sont précisées avec les commandes checkout et export. |
||
−p |
Redirige les fichiers rapatriés du référentiel vers la sortie standard. Cette option est utilisable avec les commandes « checkout » et « update ». |
−r marqueur |
Utilise la révision spécifiée par l’argument marqueur au lieu de la révision par défaut « head ». En plus des marqueurs pouvant être placés avec les commandes tag et rtag, deux marqueurs spéciaux peuvent toujours être utilisés : ‘HEAD’ est la révision la plus récente dans le référentiel et ‘BASE’ est la dernière révision rapatriée dans le répertoire de travail. Les marqueurs sont « collants » lorsqu’ils sont utilisés avec les commandes « checkout » et « update » : ceux-ci seront réutilisés lors des mises à jour futures, sauf spécification contraire. Un marqueur peut être soit symbolique, soit numérique. L’option −q est souvent associée à l’option −r afin de supprimer les messages d’avertissements lorsque les fichiers RCS ne contiennent le marqueur demandé. L’option −r est disponible avec les commandes « checkout », « commit », « diff », « history », « export », « rdiff », « rtag » et « update ». Avertissement : cette option est différente de l’option ‘cvs −r’ utilisée à gauche d’une commande cvs ! |
Voici finalement le détail de toutes les commandes cvs et de leurs options. Les quelques lignes de résumé après chaque commande décrivent trois choses : |
Les options de la commande et les arguments |
Les options spécifiques sont décrites en détail ci-dessous ; les options courantes n’apparaissent que dans le résumé. |
Répertoire de travail ou référentiel ? |
Certaines commandes cvs nécessitent un répertoire de travail pour fonctionner ; d’autres nécessitent un référentiel. De même, certaines commandes modifient le référentiel, d’autres modifient le répertoire de travail, et d’autres ne modifient rien du tout. |
Synonymes |
Beaucoup de commandes ont des synonymes, qui peuvent être plus faciles à retenir ou à taper que le nom principal. |
add [−k kflag] [−m ’message’] fichiers... |
Nécessite :
Référentiel,
répertoire de travail Si l’argument de ‘cvs add’ est un sous-répertoire, celui-ci est créé au bon endroit dans le référentiel, et les fichiers d’administration sont créés dans votre répertoire de travail. Si le répertoire existe déjà dans le réferentiel, ‘cvs add’ crée quand même les fichiers d’administration dans votre répertoire de travail. Ceci permet l’utilisation de ‘cvs add’ pour ajouter un répertoire à vos sources même si un autre utilisateur a déjà créé ce répertoire après votre checkout des sources. Vous pouvez par exemple faire : |
exemple% mkdir nouveau_repertoire exemple% cvs add nouveau_repertoire exemple% cvs update nouveau_repertoire |
Une autre façon de faire est d’utiliser la commande : |
exemple% cvs update -d nouveau_repertoire |
Pour ajouter tous les nouveaux répertoires du référentiel à votre répertoire de travail, il est préférable d’utiliser la commande ‘cvs checkout’ ou ‘cvs update -d’. Les fichiers ajoutés ne sont pas créés dans le référentiel avant le lancement de la commande ‘cvs commit’, rendant les modifications permanentes. Lancer un ‘cvs add’ sur un fichier supprimé avec la commande ‘cvs remove’ ramène le fichier à la vie si la commande ‘cvs commit’ n’a pas déjà été lancée. Vous aurez la possibilité d’ajouter un message d’information lors du ‘cvs commit’ créant le fichier de manière permanente dans le référentiel. Pour ajouter un message lors de la création du fichier (pour décrire le but du fichier par exemple), préciser l’option ‘−m message’ à la commande add. L’option ‘-k kflag’ définit de quelle manière un fichier doit être rapatrié. L’argument ‘kflag’ est enregistré dans le fichier RCS et peut être modifié avec la commande ‘cvs admin’. Les fichiers binaires utilisent généralement l’option ‘-ko’ précisant que les mots-clés ne doivent pas être interprétés. |
admin [rcs-options] fichiers... |
Nécessite :
Référentiel,
répertoire de travail. |
checkout [options] modules... |
Nécessite :
référentiel. Les modules sont soit des noms symboliques (définis dans le module ‘modules’ du référentiel ; voir cvs(5)) pour certains fichiers ou répertoires, ou directement des chemins ou répertoires du référentiel. Suivant les modules demandés, la commande checkout peut créer des sous répertoires et les remplir de fichiers. Vous pouvez ensuite modifier ces fichiers indépendemment des autres personnes, récupérer les modifications effectuées par d’autres personnes ou valider vos modifications dans le référentiel. Il faut noter que la commande checkout crée souvent un sous-répertoire du nom du module demandé (sauf si le module demandé est un alias, auquel cas le sous-répertoire peut avoir un nom différent). La commande checkout indiquera le chemin de chaque sous-répertoire créé dans votre répertoire de travail (sauf si vous spécifiez l’option -Q). Exécuter la commande ‘cvs checkout’ dans un répertoire déjà construit par la commande checkout est permis, et effectue le même travail que la commande update avec l’option -d. Les options disponibles avec la commande ‘cvs checkout’ sont les options standards −P, −f, −k kflag , −l, −n, −p, −r tag, and −D date. En plus de ces options, vous pouvez utiliser les options spécifiques à checkout : L’option -A réinitialise les sticky tags, dates et options -k (si vous travaillez sur un fichier avec une option -r, -D ou -k, cvs retient les marqueurs, dates et drapeaux correspondants et continue à les utiliser pour les mises à jour futures. L’option -A signale à cvs d’oublier des spécifications et de rechercher la version ‘‘head’’ du fichier). L’option −j " branche" fusionne les changements entre votre révision et la révision demandée (si le marqueur se réfère à une branche, cvs fusionnera tout changement effectué dans la branche dans votre fichier). Si deux options −j sont précisées, cvs fusionne les modifications des deux révisions, pour supprimer un delta avec les fichiers de travail par exemple. De plus, chaque option −j peut contenir une date, qui utilisée en conjonction avec les branches, peut limiter le choix de la révision à celle d’une certaine date. Une date peut être précisée en ajoutant le symbole deux-points (:) au marqueur. Un exemple peut être celui de la sortie de la commande ‘cvs import’ lorsque les sources qui viennent juste d’être importées entrent en conflit avec les modifications dans le répertoire de travail. |
exemple% cvs checkout -jTAG:yesterday -jTAG module |
Utilisez l’option −N avec l’option ‘−d dir’ pour ne pas supprimer le nom du module dans l’arborescence où sera rapatrié le module (cvs réduit normalement au plus court les noms de répertoire lorsqu’il est spécifié un répertoire d’un module à rapatrier). Utilisez l’option −c pour récupérer la liste triée des fichiers du module sur la sortie standard. L’utilisation de cette option ne modifie pas de fichiers ou de répertoires dans le répertoire de travail. Utilisez l’option −d repertoire pour créer un répertoire nommé repertoire où créer les fichiers, au lieu d’utiliser le nom du module. Sauf si vous précisez l’option −N, les chemins créés seront aussi courts que possible. Utilisez l’option −s pour afficher les informations d’état stockées pour chaque module. |
commit [−lnR] [−m ’message’ | −f fichier] [−r revision] [fichiers...] |
Nécessite : répertoire
de travail, référentiel Si vous ne spécifiez pas de fichiers à commiter, tous les fichiers du répertoire de travail sont parcourus. commit ne modifie dans le référentiel que les fichiers qui ont réellement changé. Les fichiers dans les sous-répertoires sont aussi examinés et commités par défaut (ou en utilisant l’option −R) s’ils ont été modifiés. Il est possible d’utiliser l’option −I pour limiter le commit au répertoire courant uniquement. Il est parfois utile de forcer un commit même si le fichier n’a pas été modifié ; ceci est possible en utilisant l’option −f, qui a aussi l’effet de supprimer la récursivité (qu’il est possible de réactiver avec l’option −R). commit vérifie que les fichiers sont en phase avec les révisions actuelles du référentiel. Si un des fichiers doit dans un premier temps être mis à jour, commit envoie le message et quitte en annulant les modifications. commit ne lance pas la commande update. Si tout est correct, un éditeur est exécuté pour permettre la saisie d’un message de log. Ce message sera écrit dans le référentiel. Il est possible de spécifier le message directement dans la ligne de commande avec l’option −m (cela annule l’exécution de l’éditeur), ou d’utiliser l’option −F pour signaler que l’argument fichier contient le message de log. L’option −r peut être utilisée pour commit avec une révision spécifique (qu’elle soit symbolique ou numérique). Par exemple, pour passer tous les fichiers en révision ‘‘3.0’’ (y compris ceux qui n’ont pas été modifiés), lancer la commande suivante : |
exemple% cvs commit -r3.0 |
cvs ne permettra le commit que sur une révision du tronc (révision ne comportant qu’un seul point). Il est cependant possible de commiter sur une branche (nombre pair de points) avec l’option −r. Pour créer une révision sur une branche, il faut utiliser l’option −b des commandes rtag ou tag. D’une autre manière, checkout ou update peut être utilisé pour que vos sources utilisent la branche créée. Une fois cette opération effectuée, tout commit sur ces sources sera effectué sur la branche, de manière à ne pas perturber le développement sur la branche principale. Par exemple, si vous devez créer un patch pour la version 1.2 d’un produit, alors que la version 2.0 est en cours de développement, faites comme suit : |
exemple% cvs rtag -b -rFCS1_2 FCS1_2_Patch module_produit exemple% cvs checkout -rFCS1_2_Patch module_produit exemple% cd module_produit [[ modifications diverses ]] exemple% cvs commit |
Supposons que vous travaillez sur une version expérimentale du produit, ayant pour base une révision (peu importe laquelle) extraite du référentiel la semaine précédente. Si d’autres personnes travaillent sur le produit avec vous, vous pouvez commiter vos changements sur une nouvelle branche afin de ne pas déranger le développement principal. Les autres personnes peuvent également récupérer vos modifications expérimentales et utiliser les algorithmes de résolution de conflit de cvs. Voici le scénario tel qu’il pourrait être : |
exemple% cvs tag -b EXPR1 exemple% cvs update -rEXPR1 [[ modifications diverses ]] exemple% cvs commit |
Les autres personnes lancent la commande ‘cvs checkout -rEXPR1 un_module’ pour travailler avec vos modifications expérimentales. |
diff [−kl] [rcsoptions_du_diff] [[−r rev1 | −D date1] [−r rev2 | −D date2]] [fichiers...] |
Nécessite : répertoire
de travail, référentiel. Si vous ne spécifiez pas de fichiers, diff affiche les différences de tous les fichiers dans le répertoire courant (et ses sous-répertoires, sauf si l’option −l est spécifiée) par rapport à leur révision correspondante dans le référentiel (c’est-à -dire tous les fichiers que vous avez modifiés), ou dont la révision est différente. |
export [−flNnQq] −r rev|−D date [−d répertoire] [−k kdrapeau] module... |
Nécessite :
référentiel. Les seules options non standard sont : ‘−d dir’ (écrit les sources dans le répertoire rép) et ‘−N’ (n’abrège pas les chemins du module). Les options suivantes ont la même signification que pour la commande ‘cvs checkout’. L’option −kv est utile lors d’un export Les mots-clés sont étendus de manière à ce qu’un import sur un autre site ne perde pas les informations de révision. D’autres Kflags peuvent être utilisés avec ‘cvs export’ et sont décrits dans co(1). |
history [−rapport] [−drapeaux] [−options args] [fichiers...] |
Nécessite : le fichier
‘$CVSROOT/CVSROOT/history’ Avertissement : ‘cvs history’ utilise les options ‘−f’, ‘−l’, ‘−n’, et ‘−p’ d’une manière différente de celle décrite dans la section OPTIONS DES COMMANDES . Certaines options (indiquées ci-dessous comme −report) controlent quel type de rapport est généré : |
−c |
Affiche tous les commit (c’est-à -dire chaque fois que le référentiel a été modifié). |
−m module |
Rapport sur un module spécifique. Il est possible d’utiliser plusieurs fois l’option −m dans une commande. |
−o |
Rapport sur les check-out. |
|||
−T |
Rapport sur les marqueurs. |
−x type |
Extrait un type particulier X de fichiers de l’historique cvs. Les types sont indiqués par une lettre. Plusieurs lettres peuvent être indiquées. Certaines commandes ont un type unique : checkout (type ‘O’), release (type ‘F’), et rtag (type ‘T’). Un de ces quatre types peuvent résulter d’un update : ‘W’, lorsque le fichier dans le répertoire de travail est supprimé durant une mise à jour (car il n’était plus dans le référentiel) ; ‘U’ lorsque le fichier dans le répertoire de travail a été copié depuis le référentiel ; ‘G’ lorsqu’une fusion était nécessaire et qu’elle a réussi ; ‘C’ lorsqu’une fusion était nécessaire mais que des collisions ont été détectées (nécessitant donc une fusion manuelle). Enfin, un de ces trois types résultant d’un commit : ‘M’ lorsqu’un fichier était modifié ; ‘A’ lorsqu’un fichier est ajouté pour la première fois ; et ‘R’ lorsqu’un fichier est supprimé. |
−e |
Tous les types de fichier ; équivalent à ‘−xMACFROGWUT’. |
−z zone |
Utiliser le fuseau horaire fuseau lors de l’affichage de l’historique. Le fuseau horaire LT représente le fuseau horaire local ; un nombre positif ou négatif représente les heures et minutes en avance de l’UTC. Par exemple, +0530 signifie 5 heures et 30 minutes en avance sur l’UTC (c’est-à -dire vers l’est). |
Les options −flags modifient le rapport sans nécessiter d’arguments aux options : |
−a |
Affiche les données de tous les utilisateurs (par défaut, seules les données de l’utilisateur exécutant la commande ‘cvs history’ sont affichées). |
||
−l |
N’affiche que la dernière modification. |
||
−w |
N’affiche que les modifications des fichiers dans le même répertoire que celui dans lequel est exécuté la commande ‘cvs history’. |
Les options −options args modifient le rapport et nécessitent un ou plusieurs arguments : |
−b chaine |
N’affiche les données que des entrées contenant la chaîne chaine soit dans le nom du module, le nom du fichier ou le chemin du référentiel. |
−D date |
N’affiche que les données depuis date. |
−p repository |
N’affiche que les données d’un référentiel spécifique (il est possible d’utiliser plusieurs fois l’option −p dans une ligne de commande). |
−r rev |
N’affiche les données postérieures à la révision ou au marqueur rev sur chaque fichier RCS. |
−t tag |
N’affiche les données qu’à partir du moment où marqueur a pour la dernière fois été ajouté dans le fichier history. à la différence de −r ci-dessus, seul le fichier history est parcouru et non chaque fichier RCS. La commande est par conséquent bien plus rapide. |
−u nom |
N’affiche que les données de l’utilisateur nom. |
import [−options] repository vendortag releasetag... |
Nécessite :
Référentiel,
répertoire contenant les sources Ã
importer. L’argument référentiel est le nom d’un répertoire (ou le chemin vers un répertoire) sous le répertoire racine CVS ; si le répertoire n’existe pas, l’import le crée. Lorsque vous utilisez import pour mettre à jour une source qui a été modifiée dans le référentiel source (depuis un import précédent), celui-ci vous informe des fichiers en conflit dans les deux branches de développement ; utilisez ‘cvs checkout -j’ pour fusionner les différences (import vous le signalera). Par défaut, certains fichiers sont ignorés durant un ‘cvs import’ : les noms des fichiers d’administration CVS , ou d’autres systèmes de gestion de version ; le noms de fichiers classiques pour les patch, les fichiers objets, les archives et les fichiers de sauvegarde des éditeurs de texte ; les noms de fichiers couramment utilisés pour ###. Pour connaître les noms de fichiers ignorés, consultez le Cederqvist (voir dans la section VOIR AUSSI de cette page de manuel). Les fichiers sont enregistrés dans une branche, par défaut ‘1.1.1’. Les mises à jour sont des feuilles de cette branche ; par exemple, les fichiers d’un premier import auront comme révision ‘1.1.1.1’, et les fichiers modifiés depuis le premier import auront comme révision ‘1.1.1.2’, etc. Au moins 3 arguments sont nécessaires. référentiel est nécessaire pour identifier la collection de source. vendortag est un marqueur pour la branche (c’est-à -dire pour ‘1.1.1’). Vous devez également préciser au moins un releasetag pour identifier les fichiers créés à chaque import. Une des options standard de la commande cvs est disponible : −m. Si vous ne précisez pas de message, un éditeur de texte sera appelé (comme pour un commit) pour permettre la saisie d’un message. Il existe trois options spéciales. ‘−d’ pour utiliser les dates de dernière modification de chaque fichier comme date de checkin. ‘−b branche’ pour utiliser une autre branche que ‘1.1.1’. ‘−I name’ pour préciser les noms de fichiers à ignorer durant l’import. Vous pouvez utiliser plusieurs fois cette option dans une même ligne de commande. Pour qu’aucun fichier ne soit ignoré (y compris ceux ignorés par défaut), utilisez l’option ‘−I !’. |
log [−l] roptions_log [fichiers...] |
Nécessite :
référentiel,
répertoire de travail. |
rdiff [−flags] [−V vn] [−r t|−D d [−r t2|−D d2]] modules... |
Nécessite :
référentiel. Noter que si les releases se font dans plusieurs répertoires différents, il est nécessaire d’utiliser l’option −p de la commande patch pour patcher les anciens sources. Les options standard flags, −f et −l sont disponibles pour cette commande. Il existe également plusieurs options spéciales : Avec l’option −s, le patch n’est pas généré. à la place, un résumé des fichiers modifiés/ajoutés/supprimés est envoyé vers la sortie standard. Cette option est utilisée pour déterminer quels ont été les fichiers modifiés entre deux dates ou révisions. Avec l’option −t, un diff entre les deux dernières révisions du tronc sont envoyées sur la sortie standard. Utile pour déterminer quelle a été la dernière modification sur un fichier. Avec l’option −u, le patch est sous forme « unidiff » (diff contextuel). Il est possible d’utiliser l’option −c pour obtenir les diffs contextuels au format ‘diff −c’ (format par défaut). |
release [−dQq] modules... |
Nécessite : répertoire
de travail. Pour éviter ces problèmes, la commande ‘cvs release’ vérifie qu’aucun fichier n’est pas en attente de commit ; que vous exécutez cette commande dans un répertoire de travail cvs ou juste un cran au-dessus ; que le référentiel pour vos fichiers est bien le même que celui défini dans la base de données des modules. Si toutes ces conditions sont vraies, ‘cvs release’ crée un entrée dans l’historique attestant que le checkout a été abandonné. Il est possible d’utiliser l’option −d pour demander la suppression des fichiers sources si la commande release se termine sans erreur. |
remove [−lR] [files...] |
Nécessite : répertoire
de travail. Les fichiers ne sont réellement supprimés que lors de l’appel de la commande commit ; une fois cette commande lancée, les fichiers RCS dans le référentiel sont déplacés dans le répertoire ‘Attic’ (se trouvant également dans le référentiel). Cette commande est récursive par défaut. Elle cherche tous les fichiers supprimés et les marque comme étant à supprimés au prochain commit. Utilisez l’option −l pour ne pas utiliser la récursivité. Vous pouvez sinon précisez la liste des fichiers à supprimer. |
rtag [−falnRQq] [−b] [−d] [−r tag | −D date] symbolic_tag modules... |
Nécessite :
référentiel. En général, les marqueurs (bien souvent les noms de version d’un logiciel) ne sont jamais supprimés. Cependant, l’option −d peut être utilisée pour supprimer des noms de marqueur obsolètes (comme celui d’une version alpha par exemple). ‘cvs rtag’ ne déplace pas un marqueur existant. Avec l’option −F, ‘cvs rtag’ déplace une instance de marqueur_symbolique existant déjà sur un fichier vers une autre révision. Sans l’option −F, cette commande produit un message d’erreur. L’option −b crée un marqueur de branche, permettant le développement de manière isolée. Ceci est utile pour créer un correctif d’une ancienne version d’un logiciel. Vous pouvez utiliser les options −r et −D pour ne poser de marqueurs que sur les fichiers contenant déjà un marqueur spécifique. Cette méthode est utilisée pour renommer un marqueur : poser un marqueur sur les fichiers identifiés par l’ancien marqueur, puis supprimer l’ancien marqueur en laissant le nouveau marqueur sur les mêmes fichiers que ceux de l’ancien marqueur. rtag est récursif par défaut, et pose un marqueur sur tous les sous-répertoires du module spécifié en argument. Il est possible de restreindre le marqueur aux répertoires de plus haut niveau avec l’option −l. Il est également possible de préciser la récursivité par défaut avec l’option −R. La base de données des modules peut spécifier un programme à exécuter lorsqu’un marqueur est posé ; un cas typique est l’envoi de courriel aux utilisateurs intéressés. Si vous ne voulez pas lancer le programme, utilisez l’option −n. Utilisez l’option −a pour rechercher les fichiers contenant le marqueur spécifié dans les sous-répertoires « Attic ». Ce marqueur est supprimé, ce qui est utile pour réutiliser un marqueur symbolique lorsque le développement continue (et que les fichiers sont supprimés des versions à venir). |
status [−lRqQ] [−v] [fichiers...] |
Nécessite : répertoire
de travail, référentiel. Vous pouvez utiliser cette commande pour évaluer l’impact d’un ‘cvs update’ sur le répertoire de travail. Si vous ne précisez pas de fichiers, le rapport est effectué pour les fichiers gérés par cvs dans votre répertoire de travail. Il est possible de limiter le rapport uniquement aux fichiers du répertoire courant (sans les sous-répertoires) avec l’option standard −l ; l’option −R demande explicitement la récursivité. L’option −v affiche les marqueurs symboliques des fichiers RCS . |
tag [−lQqR] [−F] [−b] [−d] [−r tag | −D date] [−f] symbolic_tag [files...] |
Nécessite : répertoire
de travail, référentiel. Une utilisation de ces tags est de marquer un instantané des sources utilisés lors d’un freeze. Quand des correctifs sont appliqués après cette date, seuls les fichiers modifiés doivent être marqués à nouveau. Les marqueurs symboliques sont utiles pour garder une trace de quelle révision de quels fichiers sont utilisées lors d’une release. Les commandes checkout, export et update permettent l’extraction d’une copie exacte d’une release marquée, même si des fichiers ont été ajoutés, modifiés ou supprimés depuis la release. Il est possible d’utiliser les options standards −r et −D pour ne marquer que les fichiers contenant déjà un certain marqueur. Cette méthode est utilisée pour renommer un marqueur : pour cela, ne marquer que les fichiers contenant déjà un certain marqueur puis supprimer l’ancien marqueur. En utilisant en plus l’option −f en plus -r ou −D, on ne marque que les fichiers sur la ligne de commande, même s’ils ne contiennent pas le marqueur spécifié ou n’existaient pas à la date fournie. Par défaut (sans l’option −r ou −D), les versions à marquer sont fournies implicitement par les enregistrements cvs de l’hitorique de vos fichiers de travail plutôt qu’appliquées explicitement. Si vous utilisez ‘cvs tag −d symbolic_tag...’, le marqueur symbolique est supprimé et non ajouté. Attention : soyez sur de ce que vous faites lorsque vous supprimez un marqueur ; certaines informations importantes peuvent être supprimées. ‘cvs tag’ ne déplace pas un marqueur déjà existant. Avec l’option −F, ‘cvs tag’ déplace une instance d’un marqueur_symbolique existant déjà vers une autre révision. Sans cette option −F, l’utilisation de ‘cvs tag’ pour appliquer un marqueur déjà existant sur un fichier produit un message d’erreur. L’option −b, crée un marqueur de « branche », permettant le développement isolé. Ceci est utile pour créer un correctif sur une release ancienne. Normalement, tag s’exécute de manière récursive ; il est possible d’utiliser l’option standard −l pour annuler cette récursivité, ou préciser explicitement la récursivité avec l’option −R. |
update [−ACdflPpQqR] [−d] [−r tag|−D date] files... |
Nécessite :
référentiel,
répertoire de travail. update affiche tout ce qui est effectué au fur et à mesure de la progression, avec une ligne par fichier précédé d’un des caractères ‘U A R M C ?’ indiquant le statut du fichier : |
U fichier |
Ce fichier a été mis à jour avec le |
référentiel. Ceci est effectué pour tout fichier existant dans le référentiel mais pas dans le répertoire de travail, ainsi que pour tout fichier dont une révision plus récente existe dans le référentiel et dont la copie locale n’a pas été modifiée. |
A fichier |
Ce fichier a été ajouté dans le répertoire de travail, et sera ajouté dans le référentiel lors du prochain ‘cvs commit’ sur ce fichier. |
|
R fichier |
Ce fichier a été supprimé dans le répertoire de travail et sera supprimé du référentiel lors du prochain ‘cvs commit’ |
|
M fichier |
Ce fichier a été modifié dans le répertoire de travail. ‘M’ peut indiquer deux possibilités : soit le fichier n’a subi aucune modification dans le référentiel, et dans ce cas il reste inchangé ; soit le fichier a été modifié dans le référentiel et ces modifications ont été fusionnées avec succès dans la copie locale. |
|
C fichier |
Un conflit a été détecté lors de la fusion des modifications d’un fichier avec la révision actuellement dans le référentiel. Le fichier est maintenant le résultat de la fusion des deux versions ; une version non modifiée du fichier est enregistrée dans le répertoire de travail, avec pour nom ‘.#fichier.version’, où version est la révision à partir de laquelle les modifications ont été effectuées. Il faut bien noter que certains systèmes suppriment automatiquement les noms de fichier commençant par ‘.#’ si personne n’y a accédé durant plusieurs jours. Si vous désirez conserver une copie de ce fichier, il est bon de renommer ce fichier. |
|
? fichier |
Ce fichier est dans votre répertoire de travail, mais ne correspond à rien dans le référentiel, et ne se trouve pas dans la liste des fichiers à ignorer (voir la description de l’option −I). |
Utilisez l’option −A pour réinitialiser les marqueurs collants, dates ou options −k (si vous avez récupéré certains fichiers avec l’une des options −r, −D, ou −k, cvs continue à utiliser ces marqueurs pour les mises à jour ultérieures ; utilisez l’option −A pour que cvs oublie ces options, et récupère la version HEAD du fichier). L’option −jbranche fusionne les modifications effectuées sur une branche par rapport à la révision sur laquelle la branche est basée. Avec deux options -j, cvs fusionne les modifications entre deux révisions spécifiques. Ceci peut être utilisé pour supprimer un delta d’un fichier. Par exemple, si le fichier truc.c est en révision 1.6 et que vous souhaitez supprimer les modifications effectuées entre les révisions 1.3 et 1.5, vous pouvez lancer : |
exemple% cvs update -j1.5 -j1.3 foo.c |
# attention à l’ordre... |
De plus, chaque option -j peut contenir un date, qui lorsqu’elle est utilisée avec une branche, peut limiter le choix de la révision à une certaine date. Une date est précisée en ajoutant deux points (:) au marqueur. |
-jSymbolic_Tag:Date_Specifier |
Utilisez l’option −d pour créer les sous-répertoires existant dans le référentiel mais pas dans votre répertoire de travail (les mises à jour ne se font en temps normal que sur les fichiers et répertoires déjà présents). Ceci est utile pour créer les sous-répertoire créés après le checkout initial ; il y a cependant un effet de bord. Si vous avez délibérément omis certains répertoires du référentiel lors de la création du répertoire de travail (en utilisant un nom de module ou en donnant explicitement la liste des fichiers à ignorer), la mise à jour avec l’option −d créera ces répertoires, ce que vous ne voulez pas forcément. Utilisez l’option −I nom pour ignoner des fichiers dont le nom correspond à nom (dans votre répertoire de travail) durant l’update. Il est possible d’utiliser plusieurs fois l’option −I dans une même ligne de commande. Par défaut, update ignore certains fichiers (pour une liste à jour de ces noms, se reporter au Cederqvist). Utilisez ‘−I !’ pour n’ignorer aucun fichier. Utilisez l’option ‘−C’ pour écraser la copie locale avec la copie propre du référentiel (le fichier modifié est sauvegardé sous le nom ‘.#fichier.revision’). Les options standard −f, −k, −l, −P, −p, and −r sont également disponibles avec la commande update. |
Pour de plus amples renseignements sur les fichiers cvs, se reporter à cvs(5). Fichiers dans le répertoire utilisateur : |
.cvsrc |
Le fichier d’initialisation de cvs. Il est possible d’indiquer les options par défaut de chaque commande cvs. Par exemple, la ligne ‘diff −c’ indique que toute commande ‘cvs diff’ utilisera le paramètre −c en plus de toute autre option passée sur la ligne de commandes. |
.cvswrappers |
Définit les wrappers à utiliser en plus de ceux définis dans le fichier CVSROOT/cvswrappers du référentiel. |
Fichiers dans le répertoire de travail : |
CVS |
Le répertoire des fichiers d’administration de cvs. Ne pas supprimer. |
CVS/Entries |
Liste et statut des fichiers du répertoire de travail. |
CVS/Entries.Backup |
Une copie de sauvegarde du fichier ‘CVS/Entries’. |
CVS/Entries.Static |
Flag: ne pas ajouter plus d’entrées sur ‘cvs update’. |
CVS/Root |
Chemin d’accès au référentiel ( CVSROOT ) au moment du checkout. Ce fichier est utilisé en lieu et place de la variable d’environnement CVSROOT si elle n’est pas définie. Un message d’avertissement est affiché lorsque le contenu de ce fichier et la variable d’environnement CVSROOT sont différents. Ce fichier n’est pas pris en compte si la variable d’environnement CVS_IGNORE_REMOTE_ROOT est définie. |
CVS/Repository |
Chemin d’accès dans le référentiel. |
CVS/Tag |
Contient les informations sur les sticky tags ou date. Ce fichier est créé ou mis à jour lorsqu’une commande checkout ou update est lancée avec l’option −r ou −D, et qu’aucun fichier n’est défini. |
CVS/Checkin.prog |
Nom du programme à exécuter lors d’un ‘cvs commit’. |
CVS/Update.prog |
Nom du programme à exécuter lors d’un ‘cvs update’. |
Fichiers dans le référentiel : |
$CVSROOT/CVSROOT |
Répertoire des fichiers d’administration du référentiel. |
CVSROOT/commitinfo,v |
Liste de programmes à exécuter pour filtrer les commandes ‘cvs commit’. |
CVSROOT/cvswrappers,v |
Commandes wrappers à utiliser lors du checkin et checkout de fichiers du référentiel. Les wrappers permettent au fichier ou le répertoire d’être traité en entrée et en sortie du CVS. Les usages prévus sont nombreux, un usage possible serat de reformater un fichier C avant que le fichier soit validé en entrée de telle manière que tout le code du référentiel soit semblable. |
CVSROOT/editinfo,v |
Programme d’édition/validation pour le ‘cvs commit’. |
CVSROOT/history |
Fichier de trace des transactions cvs. |
CVSROOT/loginfo,v |
Enregistre les programmes pour le « piping » ‘cvs commit’ log entries. |
CVSROOT/modules,v |
Liste des modules du référentiel. |
CVSROOT/rcsinfo,v |
Liste des noms de fichiers des modèles à utiliser pour les commandes ‘cvs commit’. |
CVSROOT/taginfo,v |
Liste des programmes utilisés pour valider/tracer les commandes ‘cvs tag’ et ‘cvs rtag’. |
MODULE/Attic |
Répertoire des fichiers sources supprimés. |
#cvs.lock |
Un répertoire créé par cvs permettant de poser un verrou durant des modifications importantes sur un référentiel. |
#cvs.tfl.pid |
Fichier temporaire de verrou sur un référentiel. |
#cvs.rfl.pid |
Fichier temporaire de verrou en lecture sur un référentiel. |
#cvs.wfl.pid |
Fichier temporaire de verrou en écriture sur un référentiel. |
CVSROOT |
Cette variable doit contenir le chemin complet d’accès à la racine du référentiel cvs (là où les fichiers RCS sont stockés). Cette information est nécessaire au bon fonctionnement de la plupart des commandes cvs ; si la variable CVSROOT n’est pas définie, ou si vous désirez outrepasser son contenu pour une commande, vous pouvez l’indiquer dans la ligne de commande de cette manière : ‘cvs −d cvsroot cvs_command...’ Il n’est pas indispensable de définir la variable CVSROOT si l’exécutable cvs a été compilé avec les bons chemins d’accès ; la commande ‘cvs −v’ affiche la liste des chemins compilés. |
CVSREAD |
Si cette variable est définie, checkout et update tenteront de modifier les fichiers de votre répertoire de travail en mode lecture seule. Le comportement par défaut, lorsque cette variable n’est pas définie, est de permettre la lecture et l’écriture des fichiers de travail. |
RCSBIN |
Définit le chemin complet d’accès aux programmes RCS tels que co(1) et ci(1) (CVS 1.9 et antérieurs). |
CVSEDITOR |
Définit le programme à utiliser pour enregistrer les messages d’information lors d’un commit. Si cette variable n’est pas définie, les variables d’environnement VISUAL et EDITOR sont utilisées. Si aucune n’est définie, un éditeur par défaut est appelé comme vi (suivant le système d’exploitation). |
CVS_IGNORE_REMOTE_ROOT |
Si cette variable est définie, cvs ignore toute référence à des référentiels distants du fichier CVS/Root. |
CVS_RSH |
cvs utilise le contenu de cette variable pour déterminer le nom de la commande shell à utiliser lors du démarrage d’un serveur cvs . Si cette variable n’est pas définie, alors ‘rsh’ est utilisé. |
CVS_SERVER |
cvs utilise le contenu de cette variable pour déterminer le nom de la commande cvs sur le serveur. Si cette variable n’est pas définie, alors ‘cvs’ est utilisé. |
CVSWRAPPERS |
Cette variable est utilisée par le script ‘cvswrappers’ et détermine le nom du fichier wrapper, en plus des wrappers par défaut du référentiel (CVSROOT/cvswrappers) et du répertoire personnel de l’utilisateur (~/.cvswrappers) . |
Dick Grune |
Auteur du script shell cvs envoyé sur le forum comp.sources.unix (volume 6, release de décembre 1986). Auteur présumé de la plupart des algorithmes de résolution de conflits. |
Brian Berliner |
Programmeur et designer du programme cvs lui-même en avril 1989, sur la base du travail effectué par Dick. |
Jeff Polk |
A aidé Brian au design des modules et des branches. Auteur du script shell checkin(1) (ancêtre du « cvs import »). |
Et bien d’autres qu’il est impossible de mentionner ici. |
Le meilleur manuel pour CVS est « Version Management with CVS », écrit essentiellement par Per Cederqvist, aidé d’autres personnes. Suivant votre système d’exploitation, vous pouvez le consulter soit via la commande info cvs ou via les fichiers cvs.ps (Postscript), cvs.texinfo (source texinfo) ou cvs.html. Pour récupérer les dernières mises à jour de CVS, se tenir au courant de son développement, trouver de la documentation ou un logiciel relatif à CVS, consultez les adresses suivantes : |
http://www.cyclic.com et http://www.loria.fr/~molli/cvs-index.html |
ci(1), co(1), cvs(5), cvsbug(8), diff(1), grep(1), patch(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1). |
Gilles QUERRET <gilles.querret@nerim.net> |
Il est possible que cette traduction soit imparfaite ou périmée. En cas de doute, veuillez vous reporter au document original en langue anglaise fourni avec le programme. |
cvs(1) |