Description et utilisation de SVN

Documents pareils
Contrôle de versions et travail collaboratif. Organisation du travail collaboratif. Organisation du travail collaboratif

La magie de SVN. Découverte & usage du logiciel

Gestion de projet Gestion de configuration Gestion de Conflits. Lydie du Bousquet Philippe Lalanda

C.M. 1 & 2 : Prise en main de Linux

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Les systèmes de gestion de version

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Manuel Utilisateur MISE A JOUR DU CLIENT SOFIE VERS LA VERSION 5. v0.99

WebSpy Analyzer Giga 2.1 Guide de démarrage

Réaliser un ing avec Global Système

TP3 : Creation de tables 1 seance

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

TP WINDOWS 2008 SERVER - OUTILS DE SAUVEGARDE ET DE RESTAURATION

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

Motivations (many2many) Motivations (many2one) Sur le thème de la Version. La gestion de version. La gestion de configuration.

Gestion d identités PSL Exploitation IdP Authentic

2. Cliquez Contact Directory of Public Administration. 5. Tapez le mot de passe - Hello (pour OFPA). Changez le mot de passe en cas de

Les cahiers pratiques de Anonymat.org. SocksCap32. Edition du 20 Octobre 2000

PREMIERE DEMANDE D UNE CARTE NATIONALE D IDENTITE

Réparer un disque dur passé en RAW

Gestion d'une billeterie défilé des talents

2013 Microsoft Exchange 2007 OLIVIER D.

Solutions d infrastructure, systèmes et réseaux Solutions logicielles et applications métiers P2 - Fourniture de services

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

Recommandations techniques

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Utiliser Subversion (SVN) avec Tortoise

Installation et configuration du logiciel BauBit

AVENANT N 2 à L ACCORD CADRE PRODUITS TARIFS - CONDITIONS - Solution ONLINEFORMAPRO

Signature électronique sécurisée. Manuel d installation

Tutoriel D utilisation. Du PGI Open line d EBP

CONFIGURATION DES GRAPPES DE SERVEURS D APPLICATIONS ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES A L AIDE DE JBOSS

PerSal Manuel d installation

Système d information géographique SavGIS 3.Démarrer avec SavGIS Installer et démarrer SavGIS

Le système de gestion de version Git et GitHub

Planifier les rapports d

GUIDE DE PAIEMENT. Pour Bien Effectuer votre Paiement, veuillez suivre les instructions suivantes :

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

Mise à disposition de données Euclid sur Internet Application E2NET

Baladeur Santé VITAL'ACT

Logiciel WINPONT. Fonctionnement. Synoptique

Réparer un disque dur passé en RAW

SCHMITT Année 2012/2014 Cédric BTS SIO. TP Serveur Backup

Avertissement. La Gestion Electronique de Documents

Document de présentation technique. Blocage du comportement

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

CREATION WEB DYNAMIQUE

Kerberos/AD/LDAP/Synchro

GPI Gestion pédagogique intégrée

PROJET AZURE (par Florent Picard, A2011)

Gestion de projets. avec. Microsoft Office PROJECT 2003

TD/TP 1 Introduction au SDK d Android

Groupe Eyrolles, 2006, ISBN :

Manuel d'installation de GESLAB Client Lourd

MANUEL UTILISATEUR SOPISAFE V 3.5

HDDtoGO. Guide de l'utilisateur

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

NOTE 001. Le site Web EGRIAN

Utilisation de KoXo Computers V2.1

ENVOI SIMPLE (SMS)...

Abonnement DreamSpark Premium

Un outil open source de gestion de bibliographies

Tel : Fax :

Cours 420-KEG-LG, Gestion de réseaux et support technique. Laboratoire 08. D. Création d usagers et de groupes pour la configuration des droits NTFS

MODE OPERATOIRE CIEL GESTION COMMERCIALE VERSION EVOLUTION BTS PME PMI

Procédure d installation :

Mendeley, pour gérer sa bibliographie et la partager. Patricia Volland-Nail

FILE MANAGEMENT. TABLESPACES TEMPORAIRES Temporaire par défaut autre que system

Seniors/Niveau 2. Connaissances préalables requises. Pour accéder au niveau 2, il faut être capable de:

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

Outils Logiciels Libres

(Langage de commandes) Les commandes sont données par l'utilisateur grâce au clavier, à partir d'une "invite" ou "prompt" (par exemple "c:\>" )

Il et 9h30. Nous essaierons de terminer à 11h30. Je vous propose de prendre le premier point de l ordre du jour.

PROCÉDURE DE RÉCUPÉRATION DES CLÉS ET DES CERTIFICATS (SIGNATURE NUMÉRIQUE)

Configuration des grappes de serveurs d applications ADOBE LIVECYCLE ES3 à l aide de JBOSS

Tutoriel Création d une source Cydia et compilation des packages sous Linux

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Support audit : Presentation. Vincent de Bimard. Société Digicad vdebimard@digicad.fr 9h00-12h00, 13h30-17h00.

DSI - Pôle Infrastructures

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

I. Objectifs de ce document : II. Le changement d architecture :

Surveiller les applications et les services grâce à la surveillance réseau

Installation d'un TSE (Terminal Serveur Edition)

Guide Utilisateur Transnet

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

ASR3. Partie 2 Active Directory. 1 Arnaud Clérentin, IUT d Amiens, département Informatique,

Comment installer le gestionnaire de licence avec une nouvelle version de Arche / Effel / Melody?

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Utiliser l'assistant mailing

GESTION ELECTRONIQUE DE DOCUMENTS

FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market

Logiciels AXILOG. Logiciels AXILOG. Manuel. de sauvegarde

Revision 1.0 FR. Guide service technique

Cours Microfer Chartres

Communication et suivi des problèmes via le Helpdesk NKCN

NOTICE D UTILISATION DE LA PLATEFORME DES AIDES REGIONALES (PAR) UNEEM PREMIERE CONNEXION - CREATION & GESTION DE VOTRE COMPTE UTILISATEUR

Plateforme takouine: Guide de l apprenant

SOMMAIRE Thématique : Bureautique

Transcription:

Description et utilisation de SVN Projets tuteurés 2010-2011 Jean-François Mari IUT Charlemagne, dpt. informatique http://www.loria.fr/ jfmari/cours/svn-27-01.pdf 29 novembre 2010

Définition de SVN (Subversion) svn permet le développement collaboratif; svn conserve les fichiers partagés dans un répertoire nommé svn numérote les versions et permet de retrouver un fichier d une version obsolète (= périmée) svn prévient les participants dès qu un fichier n est plus à jour et gère les conflits svn est un ensemble client-serveur qui existe sous Unix (commande svn pour le client) et sous windows. tortoise svn http://tortoisesvn.net/downloads

Définition de SVN (Subversion) svn permet le développement collaboratif; svn conserve les fichiers partagés dans un répertoire nommé svn numérote les versions et permet de retrouver un fichier d une version obsolète (= périmée) svn prévient les participants dès qu un fichier n est plus à jour et gère les conflits svn est un ensemble client-serveur qui existe sous Unix (commande svn pour le client) et sous windows. tortoise svn http://tortoisesvn.net/downloads

Définition de SVN (Subversion) svn permet le développement collaboratif; svn conserve les fichiers partagés dans un répertoire nommé svn numérote les versions et permet de retrouver un fichier d une version obsolète (= périmée) svn prévient les participants dès qu un fichier n est plus à jour et gère les conflits svn est un ensemble client-serveur qui existe sous Unix (commande svn pour le client) et sous windows. tortoise svn http://tortoisesvn.net/downloads

Définition de SVN (Subversion) svn permet le développement collaboratif; svn conserve les fichiers partagés dans un répertoire nommé svn numérote les versions et permet de retrouver un fichier d une version obsolète (= périmée) svn prévient les participants dès qu un fichier n est plus à jour et gère les conflits svn est un ensemble client-serveur qui existe sous Unix (commande svn pour le client) et sous windows. tortoise svn http://tortoisesvn.net/downloads

Définition de SVN (Subversion) svn permet le développement collaboratif; svn conserve les fichiers partagés dans un répertoire nommé svn numérote les versions et permet de retrouver un fichier d une version obsolète (= périmée) svn prévient les participants dès qu un fichier n est plus à jour et gère les conflits svn est un ensemble client-serveur qui existe sous Unix (commande svn pour le client) et sous windows. tortoise svn http://tortoisesvn.net/downloads

Définition de SVN (Subversion) svn permet le développement collaboratif; svn conserve les fichiers partagés dans un répertoire nommé svn numérote les versions et permet de retrouver un fichier d une version obsolète (= périmée) svn prévient les participants dès qu un fichier n est plus à jour et gère les conflits svn est un ensemble client-serveur qui existe sous Unix (commande svn pour le client) et sous windows. tortoise svn http://tortoisesvn.net/downloads

Partage de fichiers le problème à éviter A A A Valérie Nicolas 2 clients lisent la même version du fichier

Partage de fichiers le problème à éviter A A1 A2 Nicolas Valérie ils commencent à éditer leurs copies

Partage de fichiers le problème à éviter A2 write A2 Valérie Valérie publie la première

Partage de fichiers le problème à éviter A1 A1 Nicolas la version de Nicolas écrase celle de Valérie

Partage de fichiers la solution svn : copie / modification / fusion A A A Valérie Nicolas 2 clients lisent la même version du fichier avec svn

Partage de fichiers la solution svn : copie / modification / fusion A A1 A2 Nicolas Valérie ils commencent à éditer leurs copies

Partage de fichiers la solution svn : copie / modification / fusion A2 write A2 Valérie Valérie publie la première

Partage de fichiers la solution svn : copie / modification / fusion A2 A1 A2 Nicolas Valérie svn bloque la publication de Nicolas

Partage de fichiers la solution svn : copie / modification / fusion (suite) svn opére sur des fichiers texte non nécessairement avec l extension.txt. Ils peuvent être des programmes java ou C (.java,.c) mais pas des fichiers word! svn suppose que les développeurs travaillent en concertation; svn suppose que les développeurs ne modifient pas la même partie du même fichier (important); svn fusionne les deux modifications si celles-ci concernent des parties différentes du fichier; Sinon, svn détecte un conflit et laisse aux développeurs le soin de le régler. Concertation obligatoire!

Partage de fichiers la solution svn : copie / modification / fusion (suite) svn opére sur des fichiers texte non nécessairement avec l extension.txt. Ils peuvent être des programmes java ou C (.java,.c) mais pas des fichiers word! svn suppose que les développeurs travaillent en concertation; svn suppose que les développeurs ne modifient pas la même partie du même fichier (important); svn fusionne les deux modifications si celles-ci concernent des parties différentes du fichier; Sinon, svn détecte un conflit et laisse aux développeurs le soin de le régler. Concertation obligatoire!

Partage de fichiers la solution svn : copie / modification / fusion (suite) svn opére sur des fichiers texte non nécessairement avec l extension.txt. Ils peuvent être des programmes java ou C (.java,.c) mais pas des fichiers word! svn suppose que les développeurs travaillent en concertation; svn suppose que les développeurs ne modifient pas la même partie du même fichier (important); svn fusionne les deux modifications si celles-ci concernent des parties différentes du fichier; Sinon, svn détecte un conflit et laisse aux développeurs le soin de le régler. Concertation obligatoire!

Partage de fichiers la solution svn : copie / modification / fusion (suite) svn opére sur des fichiers texte non nécessairement avec l extension.txt. Ils peuvent être des programmes java ou C (.java,.c) mais pas des fichiers word! svn suppose que les développeurs travaillent en concertation; svn suppose que les développeurs ne modifient pas la même partie du même fichier (important); svn fusionne les deux modifications si celles-ci concernent des parties différentes du fichier; Sinon, svn détecte un conflit et laisse aux développeurs le soin de le régler. Concertation obligatoire!

Partage de fichiers la fusion A2 A1 A2 A2 Nicolas Valérie Nicolas compare sa version à la plus récente;

Partage de fichiers la fusion A2 A1 + A2 = A3 A2 Nicolas Valérie Si les modifications ont eu lieu dans des parties différentes, svn crée une nouvelle version locale.

Partage de fichiers la fusion A2 A3 A2 Nicolas Valérie Une nouvelle version est publiée.

Partage de fichiers la fusion Valérie peut être prévenue (par mail) qu une nouvelle version est disponible. A3 Write A3 A3 Nicolas Valérie Elle peut modifier (svn update) sa version locale. Maintenant, les deux développeurs ont les modifications de l autre.

Subversion en action Initialisation : importation des fichiers à partager Le project manager crée un répertoire local SvnImport contenant l arborescence à partager et la dépose dans le. % mkdir SvnImport % cp -R monarbre SvnImport % svn import \ --username <username> \ --password <mdp> \ créer le répertoire copie locale récursive des fichiers Spécifier l identifiant LDAP de Nancy2 -m "import de la presentation" \ Un message de log SvnImport/ \ répertoire source https://clotaire.iuta.univ-nancy2.fr/svn/groupexx/ @ serveur svn de l IUT Ajout SvnImport/Expo réponse du serveur svn Ajout SvnImport/Expo/repo6.fig... Ajout SvnImport/Expo/repo5.fig Révision 5 propagée. %

Subversion en action Importation initiale (suite et fin) username et mdp sont l identifiant et mot de passe LDAP de Nancy2. Le répertoire groupexx doit être remplaçé par groupe01, groupe02,... Il est préférable de détruire SvnImport pour n utiliser QUE la version de travail obtenue par svn co qui sera contrôlée par svn.

Subversion en action Création des versions de travail chaque développeur crée sa propre version de travail, (ici sur stanislasj) et commence à la modifier. % svn co --username x --password mdp \ https://clotaire.iuta.univ-nancy2.fr/svn/ens/ A ens/expo A ens/expo/repo6.fig... A ens/expo/repo5.fig Révision 5 extraite. % svn crée un répertoire ens (à remplacer par groupexx), ajoute les fichiers et y cachera x et mdp (entre autre chose)

Subversion en action chez Valérie Exemple de modification du Un développeur (=Valérie) décide d ajouter des images. Elle commence à les mettre dans la version de travail puis les met sous le contrôle de svn. svn add *.eps A repo10.eps... Puis elle répercute ces modifications sur le serveur dans le. svn commit -m "ajout des images" Ajout Expo/repo10.eps... Transmission des données... Révision 7 propagée. Il n est plus nécessaire de préciser les username et passwd. Tout est stocké dans le répertoire local.

Subversion en action chez Nicolas Prise en compte des modifications effectuées par un autre développeur Sur la machine stanislasj, Nicolas prend en compte les modifications de Valérie stanislasj:expo$ svn update A repo10.eps A repo12.eps A repo2.eps... Actualisé à la révision 7. stanislasj:expo$ et commence à modifier le fichier svn-27-01.tex. Il répercute les modifications par un svn commit svn commit -m "modifs au debut".

Subversion en action : prise en compte des modifications Exemple de conflit Valérie tente la même chose de son coté. svn commit -m "nouvelle version" svn-27-01.tex Envoi svn-27-01.tex svn: Échec de la propagation (commit), détails : svn: Fichier ou répertoire svn-27-01.tex obsolète ; mettre à jour... Horreur, Valérie n a plus une version à jour! svn update G svn-27-01.tex Actualisé à la révision 7. C est fait. La lettre G signifie qu une fusion a eu lieu (merge). Celà a été possible car Valérie et Nicolas travaille sur des parties différentes du même fichier.

Subversion en action : prise en compte des modifications (suite) Valérie peut enfin répercuter sa version. svn commit -m "nouvelle version" svn-27-01.tex Envoi svn-27-01.tex Transmission des données. Révision 8 propagée. que Nicolas peut récupérer le cas échéant. stanislasj:expo$ svn update U svn-27-01.tex Actualisé à la révision 8.

Subversion en action : Exemple de conflit à résoudre manuellement Nicolas décide de changer le titre de l exposé décrit dans svn-27-01.tex. Valérie aussi de son coté. Mais au moment du commit, svn la prévient que son fichier n est plus à jour. svn commit -m "ajout de l annee dans le titre" Envoi Expo/svn-27-01.tex svn: Échec de la propagation (commit), détails : svn: Fichier ou répertoire svn-27-01.tex obsolète ; mettre à jour Elle tente une mise à jour : svn update Conflit découvert dans svn-27-01.tex. Sélectionner : (p) report, (df) diff entier, (e) édite, (mc) mes conflits, (tc) autres conflits, (s) affiche toutes les options : p

Exemple de conflit nécessitant une concertation Elle décide de prendre son temps (option p) C svn-27-01.tex Actualisé à la révision 9. Résumé des conflits : Conflits textuels : 1 Dans le répertoire, elle découvre plusieurs nouveaux fichiers laissés par svn. % ls -lstr svn-27-01.tex.r9 svn-27-01.tex.r8 svn-27-01.tex.mine la version 9 la version 8 la mienne

Subversion en action : Exemple de conflit à résoudre manuellement (suite) Elle retrouve dans son svn-27-01.tex un résumé des lignes en conflit. <<<<<<<.mine \title{projets tuteurés 2009-2010} \subtitle{description et utilisation de SVN} ======= \title{description et utilisation de SVN} \subtitle{projets tuteurés} >>>>>>>.r9 Aprés concertation, Valérie et Nicolas pensent que la bonne solution doit être un mixte des deux corrections : \title{description et utilisation de SVN} \subtitle{projets tuteurés 2009-2010}

Subversion en action : Exemple de conflit à résoudre manuellement(suite et fin) Puis Valérie prévient svn que le conflit est résolu. svn resolve --accept working svn-27-01.tex Conflit sur svn-27-01.tex résolu Expo$ svn commit -m "choix final du titre" Envoi Expo/svn-27-01.tex Transmission des données. Révision 10 propagée. que Nicolas pourra récupérer par un svn update. Il existe d autres façons de résoudre des conflits. Se reporter au livre http ://svnbook.red-bean.com/.

Subversion en action Faire des modifications svn add ajoute un fichier svn status liste les fichiers du répertoire local en précisant leur status?, A, D, C, M (= inconnu de svn, à ajouter / détruire, fusionner, changé, à fusionner...) svn delete détruit un fichier svn rename change le nom d un fichier svn move idem svn copy copie un fichier vers un autre svn update [-r num ] ressuscite un fichier de révision donnée

Subversion en action Examiner les changements svn list donne la liste des fichiers dans le svn status donne leur status svn diff donne les différences entre les versions locales et svn diff -r 2 :3 rules.txt compare les versions 2 et 3 de rules.txt svn log donne les messages des commit Un livre (gratuit) à lire par morceaux. http ://svnbook.red-bean.com/

Svn à l iut Un groupe de projet = un = groupexx https ://clotaire.iuta.univ-nancy2.fr/svn/groupexx 1. Groupe 1 : Deladiennée, Frère, Garnier, Thepsouvanh 2. Groupe 2 : Camerin, Fauster, Hamann, Pizel 3. Groupe 3 : François, Trimbur, Hadboun 4. Groupe 4 : Biasutto-Lervat, Daget, Pitocco, Pépin 5. Groupe 5 : Butschell, Geoffrois, Mangeonjean, Mathieu 6. Groupe 6 : Kaestle, Mion, Procureur, Nallamoutou 7. Groupe 7 : Brach, Bruckert, Butteaud, Haumonte 8. Groupe 8 : De Almeida, Deharo, Feldner 9. Groupe 9 : Gaudet, Girardin, Tiv, Toussaint 10. Groupe 10 : Gras, Guillot, Larche, Laurent 11. Groupe 11 : Michel, Mozzati, Schurter 12. Groupe 12 : Abdelghani, Bonnet, Collin, Picard 13. Groupe 13 : Denis, Dunstetter, Ségault, Thierry-Laumont 14. Groupe 14 : Barthélémy, Canzerini, Dallo, Viard 15. Groupe 15 : Cantet, Henry, Kempf 16. Groupe 16 : Anceau, Bruant, Degre, Mapelli 17. Groupe 17 : Cherriere, Collin, Deudon, Marchal 18. Groupe 18 : Baron, Graciani, Misler 19. Groupe 19 : Barnetche, Souchal, Artois