Skip to topic | Skip to bottom
Home
Linfo
Linfo.GLEnvtProg0506TP1r1.3 - 02 Jan 2007 - 13:21 - PhilippeCollettopic end

Start of topic | Skip to actions

TP 1 - Gestion de versions et de configurations

Licence 3 Informatique - 2005-2006

PhilippeCollet, RogerRousseau

Objectifs

  • Comprendre les mécanismes de gestion de versions, puis de gestion de configurations
  • Savoir utiliser et interpréter les commandes de base de cvs.
  • Comprendre la différentiation textuelle sous-jacente et la problématique des conflits.
  • Savoir résoudre les conflits avec un outil graphique.

Petites opérations avec RCS

  • Téléchargez le fichier cvsQuickRef.html.
  • Placez le dans une archive RCS avec la commande ci avec une description appropriée (CVS quick…) : man ci pour obtenir le manuel…
  • Sortez une nouvelle version de la base RCS avec la commande co (man co…)
  • Remarquez les protections associées au fichier.
  • Sortez une version en la verrouillant.
  • Modifiez le fichier avec emacs (rajoutez quelques lignes de html, 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 (man…).
  • Utilisez la commande rcsdiff pour visualiser les différences entre les deux versions.
  • Etudiez le contenu du fichier ref.html,v avec emacs. Que constatez-vous ?

Prise en main de CVS

  • Créez un répertoire spécifique pour cette partie du TD.
  • Vérifiez que vous pouvez bien lancer la commande cvs.
  • Faites un man cvs pour vous remémorer les sous-commandes les plus utiles et leurs options.
  • Suivant les indications de l’enseignant, exportez la variable CVSROOT avec la valeur
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot1
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot2
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot3
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot4
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot5
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot6
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot7
    • /u/profs/collet/l3info/envtprog/TP1/cvsroot8

Récupération d’une configuration pour modification

  • Utilisez l’opération checkout sur la base 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. Quels répertoires spéciaux existent maintenant ? Que contiennent-ils ?
  • Modifiez un fichier java (mettez vous d’accord pour qu’ils soient différents, on verra les conflits par la suite) en rajoutant quelques lignes, en en supprimant d’autres et en modifiant certaines. Profitez-en pour ajouter des commentaires dans le source Java comme $Revision: 1.3 $, $Author: PhilippeCollet? $, $Date: 2007/01/02 13:21:23 $…
  • Trouver l’opération cvs qui va montrer quels fichiers sont modifiés dans votre vision locale. Appliquez la à toute l’arborescence, puis à votre fichier.
  • Trouvez l’opération cvs qui va visualiser les modifications effectuées.

Mise à jour de la base CVS pour diffuser VOS modifications

  • Utilisez l’opération commit sur le seul fichier modifié pour mettre à jour la base CVS en ajoutant comme message « modification de votre_nom pour le TP».
  • Vérifiez le résultat de cette opération avec une opération cvs appropriée.

Mise à jour de votre répertoire pour prendre en compte les nouveautés dans la base CVS

  • Utilisez l’opération update pour obtenir les modifications effectuées par les autres développeurs sur le serveur CVS.
  • Visualisez le résultat de l’update sur la sortie de la commande et dans le répertoire.
  • Vérifiez les modifications en cherchant et en visualisant les modifications faites par les autres binômes.

Gestion des conflits

  • Editez tous (au moins deux binômes à la fois) le fichier « README » en ajoutant une ligne au début ou à la fin avec votre nom.
  • Faites un commit…
  • Que se passe-t-il ? et que faire ?

Outil graphique pour CVS : Cervisia

  • Lancez l’application cervisia
  • Configurez la base CVS avec la syntaxe utilisée pour désigner la base CVS.
  • Ouvrez votre répertoire et vérifiez que l’état des fichiers s’affiche correctement (dépliez complètement la hiérarchie si nécessaire).
  • Utilisez le menu déroulant et la commande resolve pour visualiser le conflit et tentez de le résoudre.
  • Naviguez dans la hiérarchie et visualisez l’arbre de version des fichiers que vous avez modifiés (le premier et celui en conflit).
  • Refaites une modification simple comme dans les exercices 4 et 5, mais en effectuant les opération à l’aide de l’outil (modification, visualisation des différences, filtrage des fichiers modifiés, propagation, mise a jour).
  • Taggez une release complète et faites des modifications pour tester les branchements et fusions…

Utilisation de bases CVS distantes

  • Allez sur le site http://winmerge.sourceforge.net
  • Sélectionnez l'onglet "Developer", puis dans la section CVS client access, naviguez dans CVS et lisez les instructions.
  • Profitez-en pour naviguer dans l’arborescence CVS par le web (Browse CVS repository).
  • Créez un nouveau projet dans cervisia et connectez vous au serveur anonyme.
  • Récupérez une arborescence : il existe deux modules, CVSROOT pour l'administration, et WinMerge?, qui contient tous les sources. Commencez par récupérer CVSROOT car la récupération est longue. S'il vous reste du temps, récuperez le module WinMerge? et observez les fichiers sources (numéros de version, modifications effectuées, etc.).

-- PhilippeCollet - 25 Jan 2006


to top


You are here: Linfo > GLEnvtProg0506TP1

to top

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