Utiliser les fonctions CVS dans JBuilder 5
Sylvain BARTHELEMY
E-mail: barth@tac-financial.com
Web: http://www.sylbarth.com
Juin 2001
De nombreuses nouveautés importantes ont été introduites dans la
version de JBuilder 5 : intégration XML,
améliorée, outils performants de développement plus performants et
plusieurs fonctionnalités de travail en groupe. Borland à offert ces
fonctionnalités de travail en groupe sous trois formes: ClearCase (non
inclu dans la bêta testée), Visual SourceSafe et CVS (les nouvelles
fonctionnalités de travail en groupe de JBuilder 5 sont disponibles à
l'adresse
http://www.borland.com/jbuilder/jb5/feamatrix/teamdev.html).
Notre attention c'est portée sur CVS car
c'est à notre avis un des systèmes les plus performants. Nous allons
présenter de façon simple et visuelle, la mise en place d'un
répertoire CVS qui pourra être partagé pour offrir les fonctionnalités
nécessaires à tout travail en groupe structuré. Nous aborderons donc
dans une première partie la création d'une répertoire CVS
initial. Nous importerons ensuite un projet factice dans cette
arborescence nouvellement crée pour détailler ensuite la façon de
travailler avec un espace de stockage CVS.
Création du répertoire CVS initial
La première chose à faire avant de pouvoir utiliser les fonctionnalités de
travail en groupe à l'aide de CVS, est de disposer d'un emplacement que l'on
pourra partager pour que CVS y stocke les fichiers nécessaires à la gestion et
au contrôle des versions. Cette étape est appelée aussi initialisation
du répertoire CVS (équivalent du cvs init pour ceux qui viennent du
monde Unix).
-
Afin de rendre l'exemple facilement exploitable, nous avons ici utilisé une
configuration de partage de fichiers à l'aide de Samba (disponible sur
http://www.samba.org). Sur le serveur de
fichiers nous avons donc partagé un répertoire nommé [cvs] à l'aide des
paramètres de configuration entrés dans le smb.conf suivants :
[cvs]
path = /home/cvs
read only = No
-
Si vous ne disposez ni d'un serveur, ni d'un réseau local, vous
pourrez toujours exécuter l'exemple fournit dans cet article
en remplacant toutes les références au lecteur réseau u:\
(qui est un alias de [cvs]) par des référence au lecteur
local c:\.
Une fois le répertoire crée, les utilisateurs qui auront besoin d'accéder
au répertoire CVS devront créer un lecteur réseau (que nous nommerons
u: dans tout le reste du document) et qui fera office de dépôt
local de fichiers CVS.
L'administrateur réseau ou un membre de l'éqipe de développement
devra initialiser le répertoire CVS. Cette
opération peut s'effectuer simplement via JBuilder en exécutant la commande:
Team / Create Local Repository.

Il vous est alors demandé de spécifier l'emplacement sur lequel vous voulez
que l'arborescence CVS soit initialisée (la racine de l'arborescence
CVS). Pour cet exemple, nous avons choisi le
répertoire u:\jbCVS, une alias de \\serveur_de_fichiers\cvs\jbCVS, qui est
un répertoire partagé.

Une fois ce répertoire créé, JBuilder devrait faire apparaître le message
suivant.

Dans le cas contraire, soit le répertoire n'était pas vide et il faut donc
choisir un autre endroit pour stocker les fichiers CVS, soit vous n'avez pas les
droits pour écrire dans ce répertoire et il faudra alors contacter
l'administrateur de votre réseau pour qu'il vous accorde la permission
d'écriture sur ce répertoire.
Si vous n'avez aucun message d'erreur, alors la création de
l'arborescence s'est bien passée et vous pouvez donc procéder à
l'importation d'un premier projet.
Importer un nouveau projet
Nous allons maintenant passer à la seconde étape que constitue, l'importation
d'un projet. Cette phase est nécessaire pour tout projet que l'on voudra
partager par la suite, car elle permet de placer un version initiale des
fichiers du projet concerné dans l'arborescence CVS.
Pour cet exemple, j'ai créé un projet simple nommé MonTestCVS.jpx, dans
lequel j'ai ajouté une classe nommée MonTestCVS. Pour importer ce projet dans
CVS, il suffit d'exécuter la commande: Team / Place Project into CVS et vous
verrez alors apparaitre l'écran suivant:
Veillez bien à sélectionner "Local" dans "Connect type"
et u:\jbCVS dans "Repository
path" (c:\jbCVS si vous utilisez JBuilder en local). Pour le nom du
module ("Module Name"), mettez le même nom que celui de votre projet
sans l'extension jpx. Vous pouvez alors cliquer sur "Next" et
apparaitra l'écran suivant :
Cette boite de dialogue vous permet d'entrer une description du projet. Cette description pourra
s'avérer très utile si l'arborescence CVS croit de façon importante. Il n'est
cependant pas nécessaire de mettre un commentaire pour ce projet exemple.
Cliquez donc sur "Next" pour obtenir l'écran de sélection des
répertoires suivant :

Ici, vous pouvez inclure et exclure des répertoire pour l'importation CVS.
Ceci peut par exemple être pratique si vous désirez n'importer que les sources
et non pas les programmes compilés (le cas ici car "classes" n'est
pas coché). Vous pouvez alors cliquer sur "Finish" et si tout se
passe bien, vous verrez apparaitre l'écran suivant:

Votre projet est maintenant placé dans l'arborescence CVS est les fichiers
sont prêts pour le travail en groupe.
Travailler sur un projet CVS existant
Imaginons que vous ayez suivi les étapes de création du répertoire CVS
initial et de l'importation du projet MonTestCVS avec succès. Si vous êtes un
utilisateur lambda qui veut travailler sur le projet, la première chose à
faire est de faire un Checkout du projet. Pour celà, utilisez pour celà la
commande Team / Check Out CVS Project :

Comme sur l'image ci-dessus, choisissez un répertoire cible (vide de
préférence...) qui pourra recevoir les fichiers du projet et cliquez ensuite
sur "Next". Vous voyez alors apparaître l'écran suivant:

Comme lors de l'importation de notre projet MonTestCVS, CVS nous demande où
il doit chercher les fichiers du projet. Etant donné que notre arborescence est
de type "Local", sélectionnez l'option adéquate dans cette boite de
dialogue, comme spécifié sur l'image. Sur l'écran suivant, CVS vous demande
des informations sur la localisation des fichiers locaux CVS et le nom du module
à importer.

Vous devez utiliser les même paramètres que ceux utilisés lors de
l'importation. Ici le répertoire est u:\jbCVS
et le nom du projet CVS MonTestCVS (il ne faut pas confondre le nom CVS du
projet et le nom du projet JBuilder avec extension jpx, qui peuvent être
différents).
Vous pouvez maintenant faire les modification que vous désirez sur le projet
et une fois que vous avez terminé executez la commande Team / Commit Project
pour mettre le projet à jour dans l'arborescence CVS.

Cliquez sur OK et si tout se passe bien, vous verrez apparaître l'écran
suivant:

Maintenant, si un autre membre de votre équipe, qui travaille sur ce projet,
exécute un Check Out (ou un update de son projet), il utilisera votre version
modifiée. Si des conflits apparaitre lors d'un Commit, vous verrez
l'écran suivant:

Il faut alors exécuter un update de votre projet (Team / Update Project ...)
et ne vous devriez obtenir le message suivant :

CVS fera une fusion entre vos modifications et les modifications
incompatibles tirées de l'arborescence. C'est à vous de modifier le code pour
qu'il n'y ait plus d'ambiguïtés (elles apparaissent sur fond vert fluo). Si
par exemple vous avez le code suivant:

Vous pouvez cliquer sur une des deux icones à gauche des zones verte pour
décider de conserver l'une ou l'autre version du code avant de pouvoir faire un
nouveau Commit Project.
|