TP 1 - Gestion de versions et de configurations
Licence 3 Informatique - 2007-2008
PhilippeCollet,
NicolasNobelis
URL de cette page :
http://deptinfo.unice.fr/twiki/bin/view/Linfo/GLEnvtProg0708TP1
Objectifs
- Comprendre les mécanismes de gestion de versions, puis de gestion de configurations
- Savoir utiliser et interpréter les commandes de base de svn.
- Comprendre la différentiation textuelle sous-jacente et la problématique des conflits.
- (Savoir résoudre les conflits avec un outil graphique).
Fournitures
Petites opérations avec RCS
- Téléchargez le fichier rcs.txt.
- Placez le dans une base RCS avec une description appropriée ("Présentation de RCS") à l'aide de la commande
ci
: man ci
pour obtenir le manuel de celle-ci.
- Sortez une nouvelle version de la base RCS avec la commande
co
.
- Observez les permissions associées à la base et au fichier.
- Sortez une version en la verrouillant.
- Modifiez le fichier avec emacs (ajoutez quelques lignes de texte, enlevez en quelques unes que vous pourrez repérer à la visualisation).
- Rentrez la version modifiée dans la base avec un message « modif de td » en lui donnant le numero « 2.0 ».
- Obtenez les informations sur la base RCS avec la commande
rlog
.
- Utilisez la commande
rcsdiff
pour visualiser les différences entre les deux versions.
- Etudiez le contenu du fichier rcs.txt,v avec emacs. Que constatez-vous ?
Prise en main de SVN
Récupération d’une configuration pour modification
- Utilisez l’opération
checkout
sur la base auquel vous avez été assigné pour récupérer la hiérarchie du module nommé Java2D. Interprétez le résultat à l’écran.
- Observez le résultat dans le répertoire avec un
ls -al
. Quels répertoires spéciaux existent maintenant ? Regardez plus particulièrement le fichier entries.
- Suivant les indications de l’enseignant, modifiez un fichier java en rajoutant quelques lignes, en en supprimant d’autres et en modifiant certaines.
- Trouver l’opération SVN qui va montrer quels fichiers sont modifiés dans votre tas de sable, sans mettre à jour la base.
- Trouvez l’opération SVN qui va montrer les modifications effectuées dans votre tas de sable, sans mettre à jour la base.
Mise à jour de la base SVN pour diffuser VOS modifications
- Utilisez l’opération
commit
sur le seul fichier modifié pour mettre à jour la base SVN en ajoutant comme message « modification de votre_nom pour le TP».
- Vérifiez le résultat de cette opération avec une opération SVN appropriée.
- Ajoutez en tête d'un fichier :
$Date$
$Author$
Lancez ensuite dans un terminal
svn propset svn:keywords "Date Author" nomdufichier
.
Faites un
commit
sur ce fichier. Que sont devenus les tags ? Modifiez à nouveau le fichier et faites un
commit
sur celui-ci : les tags se seront adaptés en conséquence. Voir
ce site pour plus d'informations sur les tags supportés par SVN.
Mise à jour de votre répertoire pour prendre en compte les nouveautés dans la base SVN
- Utilisez l’opération
update
pour obtenir les modifications effectuées par les autres développeurs sur le serveur SVN.
- Visualisez le résultat de l’update sur la sortie de la commande et dans le répertoire. Remarquez en particulier le nouveau numéro de révision.
- Visualisez les modifications faites par les autres binômes à l'aide d'une recherche entre la révision actuelle et une révision précédente.
- Affichez les messages entrés lors du
commit
des fichiers modifiés par les autres binômes.
Gestion des conflits
- Éditez tous le fichier README.txt en ajoutant une ligne au début avec votre nom.
- Faites un
commit
. Que se passe-t-il pour le binôme ayant propagé ses changements en premier ? Et pour le second binôme ? Comment celui-ci peut-il résoudre le problème ?
- Inversez à présent les rôles pour l'ordre de propagation.
Outil graphique pour SVN : RapidSVN
- Lancez l’application RapidSVN. Configurez l'éditeur à utiliser : View->Preferences->Programs->Standard editor, mettez-y /usr/bin/emacs ou /usr/bin/gedit.
- Affichez de manière graphique votre tas de sable (Bookmark->Add Existing Working Copy).
- Observez le conflit précédent (ou provoquez-en un nouveau). Que contiennent les fichiers .mine, .rN et .rN+1 ?
- Faites clic-droit sur le fichier problématique, et choisissez resolve conflicts. Que contient à présent le fichier ?
- Effectuez les opérations usuelles :
commit
, update
et log
.
Utilisation de bases SVN distantes
- Allez sur le site http://sourceforge.net/projects/jabref/.
- Dans l'onglet Code, puis le sous-menu SVN, lisez les instructions concernant l'accès SVN anonyme.
- Profitez-en pour naviguer dans l’arborescence SVN par le web (SVN Browse). À quoi correspondent les répertoires Branches et Trunk ?
- À l'aide de RapidSVN, faites un
checkout
(Repository->Checkout) du Trunk du projet Jabref vers un répertoire vide (attention le processus peut prendre du temps).
- Observez le fichier jabref/src/txt/CHANGELOG (numéro de révision, contenu,
log
).
--
NicolasNobelis - 21 Jan 2008
to top