Click here to load reader

Gestion de version avec CVSslaborde.net/IMG/pdf/intro-cvs.pdf · CVS est un outil d´evelopp´e depuis quelques ann´ees maintenant, il a ´et´e initi´e dans le but de permettre

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Introduction à la gestion de version avec

    CVS

    Stéphane Laborde

    30 mai 2006

    Table des matières

    1 Introduction 21.1 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.1.1 Où trouver ce document ? . . . . . . . . . . . . . . . . . . . . . . . 21.1.2 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.3 Déni de garanties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2 CVS, un outil de versionnement . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2 Utilisation locale de CVS 52.1 Création et initialisation du dépôt (repository) . . . . . . . . . . . . . . . 52.2 Création et/ou import de projet existant . . . . . . . . . . . . . . . . . . . 62.3 Obtenir/mettre à jour une copie de travail . . . . . . . . . . . . . . . . . . 62.4 Ajouter/effacer des fichiers à un projet . . . . . . . . . . . . . . . . . . . . 72.5 Voir les révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6 Connâıtre l’état d’un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . 102.7 Voir les différences entre des versions . . . . . . . . . . . . . . . . . . . . . 11

    3 Utiliser CVS sur une machine distante 113.1 Côté serveur : cvspserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Côté client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 Récupérer un projet CVS sur internet . . . . . . . . . . . . . . . . . . . . 13

    4 Utilisation depuis un poste MS-Windows 134.1 Utilisation de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2 Aller plus loin avec TortoiseCVS . . . . . . . . . . . . . . . . . . . . . . . 14

    5 Copyright, licence CC-By-Sa 15

    Références 16

  • 2 Introduction

    Table des figures

    1 Schéma de principe de CVS. . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Initialisation du dépôt (repository). . . . . . . . . . . . . . . . . . . . . . . 53 CVS commit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 CVS log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 CVS status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 TortoiseCVS (image extraite du site web de TortoiseCVS). . . . . . . . . . 147 Menu contextuel de Windows XP, TortoiseCVS y apparait. . . . . . . . . 148 (a)- CVS checkout pour un module CVS situé sur une machine distante

    avec TortoiseCVS. (b)- Dialogue pour le CVS checkout avec TortoiseCVS.L’opération est terminée avec succès. . . . . . . . . . . . . . . . . . . . . 15

    1 Introduction

    1.1 Préambule

    1.1.1 Où trouver ce document ?

    Sur le site web personnel de l’auteur par exemple, http://slaborde.net/.

    1.1.2 Copyright

    Ce document est soumis à la licence Creative Commons Attribution-ShareAlike (By-Sa). Vous trouverez des informations sur les conditions d’utilisation de ce document Dansla section 5.

    1.1.3 Déni de garanties

    Je décline toute responsabilité quant au contenu de ce document. L’utilisation desconcepts, des exemples ou de tout autre contenu se fait entièrement à vos propres risqueset périls. Ce document peut comporter des erreurs ou des imprécisions susceptiblesd’endommager votre système. Bien que ce soit très improbable, je n’en prends pas laresponsabilité. De plus, gardez à l’esprit que les informations contenues dans ce documentne sont PAS officielles. La majeure partie du contenu de ce document est constituée desuppositions, qui se trouvent donner l’effet prévu pour certaines personnes. Vous utilisezcette information à vos risques et périls.

    1.2 CVS, un outil de versionnement

    Avant de commencer, voyons quelques points. Dans ce guide, vous allez apprendre àutiliser CVS (Concurrent Version System [1]) pour être capable de gérer vos projets defaçon sûre et efficace grâce à un système permettant d’archiver toutes les modifications

    http://slaborde.net/

  • 1 Préambule 3

    apportées à un fichier ou un ensemble de fichiers. Ce document n’a pas la prétention deTOUT vous apprendre sur CVS (pour ça, il y a un manuel de référence de 170 pages[2]) mais de vous permettre de démarrer avec cet outil. L’objectif est double, d’une part,archiver vos codes sources, d’autre part, récupérer un projet de développement sur In-ternet (sur Sourceforge [3] par exemple).

    CVS est un outil développé depuis quelques années maintenant, il a été initié dansle but de permettre le travail en équipe. En fait, on peut utiliser CVS dans plusieurscontextes différents. D’une part, si on travaille seul sur un projet, CVS permet de pro-poser des releases correctement numérotées avec les fichiers correspondant, établir unhistorique des modification pour chaque fichier, on a donc toujours accès à TOUTESles versions antérieures à la version courante. D’autre part, CVS permet de travailler enéquipe, c’est d’ailleurs un de ses principaux atouts. En effet, quand on utilise CVS, onne travaille jamais sur les documents eux-mêmes mais sur des copies de travail. Chaquemembre de l’équipe de développement a sa propre copie de travail de l’ensemble duprojet et y apporte des modifications (en principe, des améliorations). Une fois qu’undes développeurs estime avoir suffisamment avancé, il ajoute ses modifications au dépôt,ainsi lors d’imports ultérieurs, ses modifications seront disponibles. La première réactiondu lecteur attentif sera certainement d’observer que si deux développeurs modifient lemême fichier, alors quand ils ajouteront leurs fichiers au dépôt, CVS ne saura pas lequelprendre. Il n’en est rien ! CVS n’enregistre que les modifications succéssives apportées àchaque fichier, et s’il en est un qui est modifié par plusieurs personnes, CVS va repérerles changements et s’il ne portent pas sur la même partie du document, alors CVS in-tégrera l’ensemble des modification, dans le cas contraire, il y a conflit et CVS requiertl’arbitrage d’un responsable du projet.

    1.3 Préambule

    Avant de commencer à utiliser CVS, il faut savoir que celui-ci a été développé sur etsurtout pour les systèmes d’exploitation unixöıdes (Linux, *BSD, etc.), il existe cepen-dant des clients fonctionnant sous windows [7]. CVS a ainsi hérité d’un certain nombrede variables d’environnement dont les principales sont CVSROOT, CVSEDITOR etEDITOR. La première est indispensable au fonctionnement de CVS, elle qui indiquele chemin du dépôt CVS (repository) ainsi que la méthode d’accès à celui-ci. En effet,il existe au moins 5 méthodes d’accès à un dépôt CVS, mais ici, nous ne verrons quel’accès en local (sur la même machine) et le mode ”pserver” (sur une machine distante).Les variables CVSEDITOR et EDITOR servent à indiquer à CVS quel éditeur de texteil doit choisir pour entrer un commentaire sur une nouvelle modification. Si la variableCVSEDITOR n’est pas initialisée, CVS cherchera ensuite la variable EDITOR et sicelle-ci n’est pas initialisée non plus, il lancera l’éditeur par défaut : vi.

    Avant toute chose il faut donc positionner la variable CVSROOT. Sous linux, ladémarche est très simple, il faut se placer en mode super utilisateur (root), créer unrépertoire dédié à CVS à l’emplacement de votre choix et initialiser CVSROOT avec ce

  • 4 Introduction

    Fig. 1 – Schéma de principe de CVS.

    chemin. Il faut exporter la variable CVSROOT pour chaque utilisateur désirant utiliserCVS.

    [steph@localhost steph]$ su

    Password:

    [root@localhost steph]# mkdir /usr/local/projets

    [root@localhost steph]# exit

    [steph@localhost steph]$ CVSROOT=:local:/usr/local/projets

    [steph@localhost steph]$ export CVSROOT

    [steph@localhost steph]$

    [steph@localhost steph]$ echo $CVSROOT

    /usr/local/projets

    [steph@localhost steph]$

    Astuce

    Pour ne pas avoir à initialiser la variable $CVSROOT à chaque fois que vous allezutiliser CVS, vous pouvez entrer ces 2 lignes dans votre fichier ∼/.bashrc

    CVSROOT=:local:/usr/local/projets

    export CVSROOT

    Ainsi à chaque ouverture de session, la variable $CVSROOT sera positionnée.Si on veut que CVS soit accéssible par tous les utilisateurs d’une machine, il faut écrire

  • 5

    ces lignes dans le fichier /etc/profile.

    Guide de lecture

    A partir d’ici, les principales commandes de CVS vont être décrites, pour cela, onutilisera une notation utilisée pour la plupart des documentations de commandes detype Unix, comme dans les pages de man, par exemple. Les commandes prendront doncune forme proche de ceci :

    cvs [ cvs_options ] cvs_command [ command_options ] [ command_args ]

    2 Utilisation locale de CVS

    2.1 Création et initialisation du dépôt (repository)

    Une fois que le répertoire que vous avez définit pour vos projets a été créé et quevotre variable CVSROOT pointe vers ce répertoire, il faut initialiser le dépôt. Pour cela,on fait appel à la commande cvs init

    [steph@localhost steph]$ cvs init

    Tous les fichiers utiles au fonctionnement de CVS sont alors créés dans le répertoirepointé par $CVSROOT (Fig. 2).

    Fig. 2 – Initialisation du dépôt (repository).

  • 6 Utilisation locale de CVS

    Attention aux droits d’accès

    Si vous créez votre dépôt dans un répertoire tel que /usr/local/projets, seul le su-per utilisateur (root) a les droits d’écriture. Pour que chaque utilisateur de la machinepuisse accéder au dépôt en lecture et/ou écriture, il faut créer un groupe (au sens unix),”cvsuser” par exemple et placer chaque utilisateur de CVS dans ce groupe. Il n’y a plusalors qu’à donner les droits à ce groupe pour le répertoire du dépôt.

    [root@localhost steph]# chown root:cvsusers /usr/local/projets

    [root@localhost steph]# chmod 775 /usr/local/projets

    [root@localhost steph]# ls -l /usr/local/

    ...

    drwxrwxr-x 4 root cvsusers 4096 jun 12 23:40 projets/

    ...

    [root@localhost steph]#

    2.2 Création et/ou import de projet existant

    Pour importer un nouveau projet dans le dépôt, il faut d’abord se placer dans unrépertoire ne contenant que des fichiers à importer dans le nouveau projet. Ici, à titred’exemple on se propose de gérer les évolution de ce document avec CVS. Ce projetne contient pour l’instant qu’un seul fichier : cvs.tex, il est situé dans un répertoire”CVSHowTo”quelque part dans mon répertoire personnel. On se place dans le répertoireCVSHowTo ne contenant que le fichier cvs.tex et on utilise la commande cvs import dontla syntaxe est la suivante :

    [steph@localhost CVSHowTo]$ cvs import -m "1er import depot" CVSHowTo slaborde v0

    N CVSHowTo/cvs.tex

    No conflicts created by this import

    [steph@localhost CVSHowTo]$

    Comme c’est le premier import, il n’y a pas de conflit. Un seul fichier a été ajouté :CVSHowTo/cvs.tex. La lettre N signifie que le fichier n’existait pas dans le dépôt, il adonc été créé (New).

    – L’option -m ”commentaire” permet de stocker un commentaire qui pourra êtreressortit plus tard lors d’un historique.

    – CVSHowTo est le nom du module pour CVS– slaborde est la marque du constructeur (vendor tag)– v0 est la marque de la version (release tag)

    2.3 Obtenir/mettre à jour une copie de travail

    Comme cela a déjà été précisé plus tôt, on ne travaille jamais directement sur lesdocuments originaux mais toujours sur une copie de travail. Si on sait que la machine

  • 2 Ajouter/effacer des fichiers à un projet 7

    sur laquelle on travaille héberge un projet, alors ce projet a un nom de module CVS.Celui-ci a été précisé lors de la création du projet. Pour obtenir une copie de travaildu module CVSHowTo que nous avons créé dans la section précédente, on utilise lacommande : cvs checkout

    [steph@localhost steph]$ cvs checkout CVSHowTo

    cvs checkout: Updating CVSHowTo

    U CVSHowTo/cvs.tex

    [steph@localhost steph]$

    CVS crée une copie de travail du projet dans un dossier portant le nom du moduleCVS, à l’endroit de l’arborescence à partit duquel vous appelez CVS. Vous pouvez donctravailler sur cette copie et y apporter les modifications nécessaires. Une fois que vousestimez que l’état des fichiers de votre copie de travail est satisfaisant, il faut mettre ledépôt à jour avec vos modifications. C’est le but de la commande cvs commit.

    Fig. 3 – CVS commit.

    [steph@localhost CVSHowTo]$ cvs commit -m "legere modification du plan" cvs.tex

    Checking in cvs.tex;

    /usr/local/projets/CVSHowTo/cvs.tex,v

  • 8 Utilisation locale de CVS

    La commande cvs add n’a aucune incidence sur le dépôt mais informe CVS qu’il devradésormais tenir compte de ce fichier. Pour ajouter effectivement le fichier au dépôt, vousdevez procéder à un archivage grâce à la commande cvs commit.A l’inverse il est possible qu’un fichier ne soit plus nécessaire au projet. Il convientalors de le supprimmer du dépôt avec la commande cvs remove. Pour cela, le fichier àsupprimer du dépôt doit également être absent du répertoire de travail.

    [steph@localhost CVSHowTo]$ rm fichier.txt

    rm: détruire fichier régulier vide ‘fichier.txt’? o

    [steph@localhost CVSHowTo]$ cvs remove fichier.txt

    cvs remove: scheduling ‘fichier.txt’ for removal

    cvs remove: use ’cvs commit’ to remove this file permanently

    [steph@localhost CVSHowTo]$ cvs commit

    Removing fichier.txt;

    /usr/local/projets/CVSHowTo/fichier.txt,v

  • 2 Voir les révisions 9

    branch:

    locks: strict

    access list:

    symbolic names:

    v0: 1.1.1.1

    slaborde: 1.1.1

    keyword substitution: kv

    total revisions: 3; selected revisions: 3

    description:

    ----------------------------

    revision 1.2

    date: 2004/06/24 22:13:09; author: steph; state: Exp; lines: +28 -15

    legere modification du plan

    ----------------------------

    revision 1.1

    date: 2004/06/21 21:53:31; author: steph; state: Exp;

    branches: 1.1.1;

    Initial revision

    ----------------------------

    revision 1.1.1.1

    date: 2004/06/21 21:53:31; author: steph; state: Exp; lines: +0 -0

    premier import

    =============================================================================

    [steph@localhost CVSHowTo]$

    cvs log propose beaucoup d’options, deux d’entre elles se révellent très utiles :– l’option -d, qui permet d’afficher les révisions par rapport à une date ;– l’option -w, permet de connâıtre les révisions faites par un utilisateur donné.

    Pour l’option -d, on peut utiliser des opérateurs de comparaison pour les dates. Parexemple pour voir les révisions antérieures au 25 juin 2004, tapez

    [steph@localhost CVSHowTo]$ cvs log -d "

  • 10 Utilisation locale de CVS

    2.6 Connâıtre l’état d’un fichier

    La fonction cvs status vous permet de connâıtre l’état d’un fichier par rapport audépôt.

    [steph@localhost CVSHowTo]$ cvs status cvs.tex

    ===================================================================

    File: cvs.tex Status: Locally Modified

    Working revision: 1.2 Thu Jun 24 22:11:19 2004

    Repository revision: 1.2 /usr/local/projets/CVSHowTo/cvs.tex,v

    Sticky Tag: (none)

    Sticky Date: (none)

    Sticky Options: (none)

    [steph@localhost CVSHowTo]$

    Fig. 5 – CVS status.

    Dans notre, cas, j’ai modifié le fichier cvs.tex, l’exemplaire de ma copie de travail estdonc différent de celui du dépôt. Evidemment, si je procède à une mise à jour grâce àla commande cvs commit, la commande cvs status indiquera que ma copie de travail està jour (Up-to-date).

    [steph@localhost CVSHowTo]$ cvs status cvs.tex

    ===================================================================

    File: cvs.tex Status: Up-to-date

    Working revision: 1.3 Thu Jun 24 22:41:36 2004

    Repository revision: 1.3 /usr/local/projets/CVSHowTo/cvs.tex,v

    Sticky Tag: (none)

    Sticky Date: (none)

  • 2 Voir les différences entre des versions 11

    Sticky Options: (none)

    [steph@localhost CVSHowTo]$

    2.7 Voir les différences entre des versions

    La commande cvs di f f permet d’afficher à l’écran l’ensemble des différences entredeux révisions ou bien entre une révision donnée et votre copie de travail. Pour comparerdeux versions d’un fichier, on utilise l’option -r de la commande cvs di f f .

    [steph@koka CVSHowTo]$ cvs diff -r 1.10 -r 1.11 cvs.tex

    Index: cvs.tex

    ===================================================================

    RCS file: /usr/local/projets/CVSHowTo/cvs.tex,v

    retrieving revision 1.10

    retrieving revision 1.11

    diff -r1.10 -r1.11

    274c274

    < La commande $cvs\ diff$ permet d’afficher à l’écran l’ensemble des

    différences entre deux révisions ou bien entre une révision donnée et

    votre copie de travail. Pour comparer deux versioons d’un fichier, on

    utilise l’options -r de la commande $cvs\ diff$.

    ---

    > La commande $cvs\ diff$ permet d’afficher à l’écran l’ensemble des

    différences entre deux révisions ou bien entre une révision donnée et

    votre copie de travail. Pour comparer deux versions d’un fichier, on

    utilise l’options -r de la commande $cvs\ diff$.

    [steph@koka CVSHowTo]$

    cvs di f f renvoie la seule différence entre les deux révisions à la ligne 274 dans cha-cune des deux révisions (274c274), il s’agit ici d’une faute de frappe.

    L’option -r doit être spécifiée avant chacune des révisions, si vous omettez le second-r et la révision qui le suit, alors cvs di f f comparera la révision passée avec le premier-r (le seul) et votre copie de travail. Il est également possible de faire une comparaisonbasée sur une ou deux dates grâce à l’option -D.

    3 Utiliser CVS sur une machine distante

    Pour utiliser CVS en réseau, il y a (au moins) deux machines à configurer : le clientet le serveur. Si vous n’êtes pas l’administrateur de la machine qui héberge le serveurCVS, alors vous pouvez sautez le paragraphe 3.1.

  • 12 Utiliser CVS sur une machine distante

    3.1 Côté serveur : cvspserver

    Pour utiliser CVS en mode serveur (cvspserver), la machine hôte doit proposer ceservice. Pour cela, il faut éditer le fichier /etc/xinetd.con f , qui sert à activer les servicesréseaux. Ajoutez-y la ligne suivante (tout sur la même ligne) :

    $ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f

    --allow-root=/usr/local/projets pserver

    Editez ensuite /etc/services et ajoutez cette ligne (si elle n’est pas déjà présente)

    cvspserver 2401/tcp

    Relancez ensuite les services réseaux pour que le serveur CVS soit pris en compte. Pourqu’un utilisateur puisse se connecter au serveur CVS, il doit avoir un compte sur lamachine. Il faut maintenant informer CVS de la liste des personnes, qui vont utiliserle service. On crée donc le fichier $CV SROOT/CV SROOT/passwd. La syntaxe est lasuivante :

    ::

    – est le nom que l’utilisateur utilise pour se connecter,– est le mot de passe correspondant,– est le login d’un utilisateur local défini sur le système hôte et

    qui donnera ses privilèges de lecture/écriture à la personne qui se connecte avec le correspondant.

    Pour importer un mot de passe crypté, on peut par exemple utiliser l’utilitaire ht passwdfourni avec Apache.

    3.2 Côté client

    Si vous avez accès par le réseau à une machine hébergeant un serveur CVS, vouspouvez vous connecter en utilisant la commande

    $ cvs -d :pserver:user@serveur:/usr/local/projets login

    Le est ici user et le dépôt se trouve sur le serveur serveur avec le chemin/usr/local/pro jets. Entrez votre mot passe à l’invite de CVS. Vous êtes connecté. Pourmettre fin à la session CVS, il faut utiliser la commande logout

    $ cvs -d :pserver:user@serveur:/usr/local/projets logout

    Durant votre session CVS, vous pouvez utiliser toutes commandes CVS usuelles commesuit :

    $ cvs -d :pserver:user@serveur:/usr/local/projets

    et tout se passe comme en local.

  • 3 Récupérer un projet CVS sur internet 13

    3.3 Récupérer un projet CVS sur internet

    Voyons maintenant comment récupérer les sources d’un projet CVS sur le web. Onpeut croiser sur Internet des sites proposant de télécharger les dernières versions descodes sources des programmes qu’ils développent, pour cela un accès anonyme à leurserveur CVS est souvent employé. C’est le cas sur sourceforge [3]. Nous allons doncvoir comment y récupérer un projet. Sourceforge héberge des centaines de projets dedéveloppement, et pour ne pas m’embarrasser, je choisis de récupérer les sources d’undes projets les plus actifs (les projets les plus actifs sont indiqué en première page). Ils’agit du projet ”eGroupware”, un outil de gestion de projet écrit en php [6]. La premièrechose à faire est de se connecter en mode anomyme.

    $ cvs -d:pserver:[email protected]:/cvsroot/egroupware login

    Le serveur CVS demande alors un mot de passe. Il suffit de presser la touche . Ensuite il faut récupérer le projet ”egroupware” et le placer dans un répertoire(ici ”nom de module”). La commande suivante doit être entrée sur une seul ligne.

    $ cvs -z3

    -d:pserver:[email protected]:/cvsroot/egroupware

    co nom_de_module

    Si vous voulez être à jour des modifications faites dans le code source du projet, ilsuffit de se connecter à nouveau depuis le répertoire où on a placé le projet la premièrefois et de faire une mise à jour, ainsi CVS ne téléchargera que les modifications.

    4 Utilisation depuis un poste MS-Windows

    4.1 Utilisation de base

    Jusqu’ici, nous avons vu l’utilisation de base pour des postes clients sous Linux/Unix,il est également possible d’utiliser CVS depuis un poste client fonctionnant sous MS-Windows. Il existe plusieurs programmes, qui permettent d’utiliser CVS, parmi les plusconnus, on trouve WinCVS [7], ou encore TortoiseCVS [8]. Ces deux logiciels sont enfait des interfaces graphiques pour CVS. Ici, je ne parlerai que du fonctionnement deTortoiseCVS, mais il faut garder à l’esprit que l’utilisation de CVS sera toujours la même,car seule l’interface graphique change, les commandes CVS, elles, restent les mêmes.

    A nouveau, nous allons récupérer les sources d’un projet sur Sourceforge afin deprendre TortoiseCVS en main. Pour cela, il faut se logger en anonyme sur le serveurCVS de sourceforge. Avec le bouton droit de votre souris, cliquez dans le dossier où vousvoulez que le module CVS du projet voulu soit stocké, puis sélectionnez directementCV S checkout dans le menu contextuel (cf. figure 7).

    Remplissez les champs de la fenêtre, comme sur la figure 8 pour récupérer le projet.La ligne de commande à envoyer à CVS est construite automatiquement, vous pouvezla voir se construire au fur et à mesure que vous entrez les renseignements nécessaires.

  • 14 Utilisation depuis un poste MS-Windows

    Fig. 6 – TortoiseCVS (image extraite du site web de TortoiseCVS).

    Fig. 7 – Menu contextuel de Windows XP, TortoiseCVS y apparait.

    Une fois, que vous avez rempli tous les champs correctement, validez. Vous devriezvoir apparâıtre une fenêtre listant les fichiers téléchargés dans le répertoire. Les informa-tions données dans cette fenêtre ne sont autres, que celles renvoyées par le serveur CVSet sont donc identiques à ce que nous avons pu voir dans les paragraphes précédents.

    Une fois l’opération terminée, si vous vous placez dans le répertoire créé par Tortoi-seCVS, vous pourrez voir tous les fichiers téléchargés depuis le serveur. Les icônes deMS-Windows sont recouvertes en fonction de leur status au sens de CVS (de vert si lefichier n’a pas été modifié et de rouge si la copie de travail, que vous avez a été modifiée).

    4.2 Aller plus loin avec TortoiseCVS

    Il est également possible de voir le statut des fichiers avec l’historique des versionsavec leur auteur, etc. Nous les aborderons dans un prochain tutoriel, avec les élémentsfournis ici, vous êtes désormais à même d’utiliser CVS pour gérer vos projets.

  • 15

    Fig. 8 – (a)- CVS checkout pour un module CVS situé sur une machine distante avecTortoiseCVS. (b)- Dialogue pour le CVS checkout avec TortoiseCVS. L’opération estterminée avec succès.

    5 Copyright, licence CC-By-Sa

    Ce document est soumis au droit d’auteur selon les termes de la licence creativecommons Attribution-ShareAlike (By-Sa). Le texte ci-dessous provient de la page :http://creativecommons.org/licenses/by-sa/2.5/.

    Vous êtes libres– de reproduire, distribuer et communiquer cette création au public– de modifier cette création– d’utiliser cette création à des fins commercialesSelon les conditions suivantes

    L’oeuvre peut être librement utilisée, à la condition de l’attribuer à l’auteuren citant son nom clairement.

    Le titulaire a la possibilité d’autoriser à l’avance les modifications ; peutse superposer l’obligation pour les oeuvres dites dérivées d’être proposées aupublic avec les mêmes libertés (sous les mêmes options Creative Commons)

    que l’oeuvre originale.

    – A chaque réutilisation ou distribution, vous devez faire apparâıtre clairement auxautres les conditions contractuelles de mise à disposition de cette création.

    – Chacune de ces conditions peut être levée si vous obtenez l’autorisation du titulairedes droits.

    http://creativecommons.org/licenses/by-sa/2.5/

  • 16 RÉFÉRENCES

    Ce qui précède n’affecte en rien vos droits en tant qu’utilisateur (exceptions au droitd’auteur : copies réservées à l’usage privé du copiste, courtes citations, parodie...)

    Ceci est le Résumé Explicatif du Code Juridique (la version intégrale du contrat)disponible à l’adresse suivante : http://creativecommons.org/licenses/by-sa/2.5/legalcode.

    Références

    [1] Site officiel de CVS, http://www.cvshome.org/

    [2] Le manuel de CVS, http://www.cvshome.org/docs/manual/

    [3] Site de développement Open Source, http://sourceforge.net/

    [4] CVS bubbles, http://www.loria.fr/~molli/cvs-index.html

    [5] Carte de référence sur les commandes CVS sur http://refcards.com/

    [6] Site officiel de eGroupWare, http://www.egroupware.org/

    [7] Site officiel de WinCVS, http://www.wincvs.org/

    [8] Site officiel de TortoiseCVS, http://www.tortoisecvs.org/

    http://creativecommons.org/licenses/by-sa/2.5/legalcode http://creativecommons.org/licenses/by-sa/2.5/legalcodehttp://www.cvshome.org/http://www.cvshome.org/docs/manual/http://sourceforge.net/http://www.loria.fr/~molli/cvs-index.htmlhttp://refcards.com/http://www.egroupware.org/http://www.wincvs.org/http://www.tortoisecvs.org/

    1 Introduction1.1 Préambule1.1.1 Où trouver ce document ?1.1.2 Copyright1.1.3 Déni de garanties

    1.2 CVS, un outil de versionnement1.3 Préambule

    2 Utilisation locale de CVS2.1 Création et initialisation du dépôt (repository)2.2 Création et/ou import de projet existant2.3 Obtenir/mettre à jour une copie de travail2.4 Ajouter/effacer des fichiers à un projet2.5 Voir les révisions2.6 Connaître l'état d'un fichier2.7 Voir les différences entre des versions

    3 Utiliser CVS sur une machine distante3.1 Côté serveur : cvspserver3.2 Côté client3.3 Récupérer un projet CVS sur internet

    4 Utilisation depuis un poste MS-Windows4.1 Utilisation de base4.2 Aller plus loin avec TortoiseCVS

    5 Copyright, licence CC-By-SaRéférences