Skip to topic | Skip to bottom
Home
Linfo
Linfo.GLEnvtProg0708TP1r1.4 - 21 Jan 2008 - 20:42 - NicolasNobelistopic end

Start of topic | Skip to actions

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

I Attachment sort Action Size Date Who Comment
SVNQuickRef.pdf manage 55.4 K 20 Jan 2008 - 11:41 NicolasNobelis Subversion Quick Reference Card

You are here: Linfo > GLEnvtProg0708 > GLEnvtProg0708TP1

to top

Copyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback