Groupe Eyrolles, 2006, ISBN : 2-212-11919-4



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

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.

Groupe Eyrolles, 2006, ISBN :

Systèmes de gestion de code source

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

Correspondances Windows-Linux

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

Le système de gestion de version Git et GitHub

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

Serveur Subversion Debian GNU/Linux

Créer un site e-commerce avec Dreamweaver CS4 et PHP/MySQL

Outils de développement collaboratif

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Réparer un disque dur passé en RAW

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Réparer un disque dur passé en RAW

Chapitre 1 Windows Server

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Le service FTP. M.BOUABID, Page 1 sur 5

Groupe Eyrolles, 2004 ISBN :

SAP BUSINESSOBJECTS BUSINESS INTELLIGENCE SUITE 4.x VERSION Bien démarrer avec la CCM

Benjamin Morin SANSTABOO. L iphone OS 4. maîtrisé. pour l utilisateur avancé. Groupe Eyrolles, 2010, ISBN :

TP 4 de familiarisation avec Unix

Groupe Eyrolles, 2005,

L3 informatique TP n o 2 : Les applications réseau

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

Déploiement et migration Windows 8 Méthodologie Compatibilité des applications ADK MDT 2012 ConfigMgr 2012 SCCM 2012 Windows Intune MDOP

1 Démarrage de Marionnet

SQL Server 2012 Administrez une base de données : Exercices et corrigés

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

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

Guide d installation JMap 5.0

Réussir. son site e-commerce. avecoscommerce

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Crédits... xi. Préface...xv. Chapitre 1. Démarrer et arrêter...1. Chapitre 2. L interface utilisateur...25

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Sauvegarde et Restauration d un environnement SAS

Gestion des documents avec ALFRESCO

II- Préparation du serveur et installation d OpenVpn :

Sauvegardes sous Mac OS X

Table des matières ENVIRONNEMENT

GUIDE RAPIDE EXPERT espace de partage

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

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

Contrôle de la DreamBox à travers un canal SSH

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Protéger les données et le poste informatique

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

et Groupe Eyrolles, 2006, ISBN :

À la une Présentation

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Plateforme de capture et d analyse de sites Web AspirWeb

Réplication des données

Groupe Eyrolles, 2006, ISBN : X

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Compte Rendu. Projet Reseaux : Conception Implémentation d un Mini DataCenter

Table des matières Hakim Benameurlaine 1

bbc Launch Pad Juillet 2011 Version 10.0

MANUEL UTILISATEUR KIWI BACKUP V 3

Contenu Windows 8 MODULE 1 AVANT-PROPOS MODULE 2 INTRODUCTION À WINDOWS 8 MODULE 4 APPLICATIONS WINDOWS 8 PARTIE 1 MODULE 3 PARAMÈTRES DE WINDOWS 8

Mise à jour de version

Extensions, Documentation, Tutoriels, Astuces

Documentation Honolulu 14 (1)

Groupe Eyrolles, 2003, ISBN : X

Utiliser Subversion (SVN) avec Tortoise

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Virtualisation. du poste de travail Windows 7 et 8. avec Windows Server 2012

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Chapitre 1 L interface de Windows 7 9

Machine virtuelle Java pour Palm TX

Avant-propos. VERSION Compilation du document à l aide de PDFLATEX Philippe Charlier. 1 Version actuelle : SPIP http ://

Récupérer au format AVI un extrait d'un DVD à l'aide du logiciel FlaskMpeg

UltraBackup NetStation 4. Guide de démarrage rapide

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

Méthodes et outils employés pour développer des logiciels libres

DSI - Pôle Infrastructures

Gérard Castagnoli OSU PYTHEAS 25/06/2013 VVT2013 1

Data Tier Application avec SQL Server 2008 R2

Machine virtuelle W4M- Galaxy : Guide d'installation

Procédure d'utilisation de Password Gorilla

G.E.D. Gestion Électronique des Documents

Veeam Backup and Replication

Explorateur WebSphere MQ Nouveautés version 7.5 & Plugins

SPIP 1.9. Créer son site avec des outils libres. Michel-Marie Maudet Anne-Laure Quatravaux Dominique Quatravaux. Avec la contribution de Perline

FileMaker Server 14. Aide FileMaker Server

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Diffuser un contenu sur Internet : notions de base... 13

Table des matières. Avant-propos... Préface... XIII. Remerciements...

Projet de développement

A. Architecture du serveur Tomcat 6

StreamServe Persuasion SP4

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

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Les modules SI5 et PPE2

Serveur FTP. 20 décembre. Windows Server 2008R2

Transcription:

Groupe Eyrolles, 2006, ISBN : 2-212-11919-4

Table des matières Préface... III Remerciements................................................... III Conventions typographiques........................................ IV CHAPITRE 1 Introduction... 1 Possibilités offertes par le contrôle de version............................ 2 Étude de cas n 1 : travail concurrent................................. 2 Étude de cas n 2 : correction d un bogue.............................. 3 Étude de cas n 3 : travail distant.................................... 3 Conclusion.................................................... 3 Organisation de cet ouvrage.......................................... 4 Pourquoi choisir Subversion?........................................ 4 Versionner des fichiers, des répertoires et des métadonnées................ 5 Propagations atomiques et ensembles de modifications................... 5 Fonctions réseau : copier en local, SSH, Apache......................... 6 Créer des branches, marques et fusions sans coût........................ 6 Un outil multi-plates-formes...................................... 6 CHAPITRE 2 Qu est-ce que le contrôle de versions?... 7 Un dépôt central, ou référentiel....................................... 7 Un serveur et des clients distants.................................... 8 La possibilité de travailler hors ligne................................. 8 Quels éléments enregistrer sur le dépôt?................................ 9 Des copies de travail locales pour manipuler des fichiers................... 10 Récupérer une première copie (checkout)............................ 11 Propager ses modifications....................................... 11 Actualiser sa copie de travail...................................... 11 Organisation en projets, répertoires et fichiers........................... 12 Le rôle des versions................................................ 13

VI Pratique du développement collaboratif avec Subversion Numérotation des versions....................................... 13 Enregistrement des versions...................................... 15 Marquer l état du projet à un instant donné............................. 15 Créer plusieurs branches............................................ 15 Un problème fréquent : gérer le code à livrer.......................... 15 La solution : utiliser des branches.................................. 16 Gestion des branches........................................... 17 Fusionner des branches............................................ 18 Les différents types de verrouillage.................................... 18 Verrouillage strict.............................................. 19 Verrouillage optimiste.......................................... 19 Contrôle de versions ou gestion de configuration........................ 21 Mise en œuvre.................................................... 22 Principes de base.............................................. 22 Éléments importants lors de l usage du contrôle de versions.............. 23 CHAPITRE 3 Installer Subversion, créer un dépôt et y accéder... 25 Installer Subversion............................................... 26 La ligne de commande.......................................... 26 Invites de commande........................................... 28 Subversion est-il installé?........................................ 29 Créer un dépôt................................................... 30 Créer un projet simple............................................. 31 Extraire un projet................................................. 33 Subversion et les protocoles réseau.................................... 34 svn......................................................... 35 svn+ssh..................................................... 35 http........................................................ 37 Choisir une méthode d accès réseau................................... 38 CHAPITRE 4 Commandes usuelles de Subversion... 41 Créer une copie de travail........................................... 42 Garder la copie locale à jour......................................... 43 Modifier un fichier................................................ 45 Apporter des modifications....................................... 45 Propager des modifications....................................... 46 Afficher l historique des changements................................. 48 Historique par ligne............................................ 49

Table des matières VII Vérifier l espace de travail........................................ 50 Copies de travail correspondant à plusieurs révisions.................... 51 Ajout de fichiers et de répertoires..................................... 51 Copier et déplacer des fichiers et des répertoires......................... 52 Copier un fichier.............................................. 53 Renommer un fichier........................................... 54 Renommer un répertoire........................................ 56 Afficher les différences............................................. 57 Différences entre la copie locale et le dépôt........................... 57 Identifiants de versions de Subversion............................... 58 Différences entre versions........................................ 59 Différentiels et patchs........................................... 61 CHAPITRE 5 Conflits et annulations... 63 Gérer les conflits de versions........................................ 63 Réparer un conflit............................................. 65 Verrouiller des fichiers.......................................... 68 Verrouillage et déverrouillage..................................... 68 Suppression et vol de verrous..................................... 69 Annuler une modification.......................................... 70 Annuler les modifications d un seul fichier........................... 70 Annuler de plus grosses modifications............................... 73 CHAPITRE 6 Propriétés... 75 Qu est-ce qu une propriété?......................................... 75 Manipuler les propriétés............................................ 76 Expansion des mots-clés............................................ 77 Ignorer certains fichiers............................................ 79 Codes de fin de ligne............................................... 80 Types de contenu MIME........................................... 81 Fichiers exécutables............................................... 81 Fichiers en lecture seule............................................ 82 Gestion automatique des propriétés................................... 83 CHAPITRE 7 Organiser votre dépôt... 85 Gestion d un seul projet............................................ 85 Gestion de projets multiples......................................... 86

VIII Pratique du développement collaboratif avec Subversion Dépôts multiples.................................................. 87 CHAPITRE 8 Marques et branches... 89 Marques et branches, de quoi s agit-il?................................ 90 Les marques et les branches en pratique............................. 91 Les branches de livraison...................................... 91 Les livraisons proprement dites................................. 92 Les corrections de bogues...................................... 92 Les expériences des développeurs................................. 93 Créer une branche de livraison....................................... 93 Travailler dans une branche de livraison................................ 94 Extraire une branche de livraison.................................. 94 Associer la copie de travail à une branche de livraison................... 95 Créer une livraison................................................ 96 Corriger des bogues dans une branche de livraison....................... 98 Correctifs de bogues simples...................................... 99 Bogues complexes............................................ 100 Branches expérimentales pour les développeurs......................... 102 Travailler sur du code expérimental................................ 102 Fusionner la branche expérimentale............................... 103 CHAPITRE 9 Créer un projet... 105 Créer le projet de départ........................................... 106 Importer dans Subversion....................................... 106 Créer des répertoires à la main................................... 107 Structure interne d un projet....................................... 108 Fichiers au premier niveau d arborescence........................... 108 Répertoires au premier niveau d arborescence........................ 109 Partager du code entre des projets................................... 111 Partager le code grâce à un sur-projet.............................. 111 Partager le code par modules externes.............................. 113 CHAPITRE 10 Code des tierces parties... 117 Bibliothèques binaires............................................ 117 Où les classer dans votre dépôt?.................................. 117 S intégrer à un environnement de compilation........................ 119 Bibliothèques avec code source...................................... 119

Table des matières IX Première importation du code source d une tierce partie................ 120 Mettre à jour une livraison à partir d un paquetage fournisseur........... 121 Utiliser le code d une tierce partie dans un projet...................... 124 Modifier le code d une tierce partie................................ 124 Actualiser du code modifié...................................... 125 Expansion des mots-clés pendant l importation......................... 125 CHAPITRE 11 Installer, mettre en réseau, sécuriser et administrer Subversion... 127 Installer Subversion.............................................. 127 Installation sous Windows...................................... 128 Installation sous Linux......................................... 128 Mise en réseau avec svnserve....................................... 128 svnserve sous Windows........................................ 128 svnserve sous Unix............................................ 129 Mise en réseau avec svn+ssh........................................ 129 Dépanner une connexion SSH................................... 131 svn: Le fichier spécifié est introuvable (Windows)................... 131 svn: Aucun fichier ou répertoire de ce type (Unix).................... 132 Subversion ne répond plus (Windows)........................... 132 svnserve: command not found et svn: Connection closed unexpectedly...... 132 svn: No repository found in 'svn+ssh://monserveur/home/svn-repos...... 133 Mise en réseau avec Apache........................................ 133 Apache sous Windows......................................... 133 Télécharger et installer Apache................................. 133 Installer les modules d Apache pour Subversion...................... 134 Configurer Apache......................................... 135 Apache sous Linux RedHat..................................... 137 Installer mod_dav_svn...................................... 137 Configurer Apache......................................... 137 Sécuriser Subversion.............................................. 138 svnserve.................................................... 138 svn+ssh.................................................... 141 Apache.................................................... 141 Contrôle d accès avec des scripts attachés........................... 143 Sauvegarder le dépôt.............................................. 144 Sauvegardes complètes......................................... 144 Sauvegardes incrémentales...................................... 145

X Pratique du développement collaboratif avec Subversion CHAPITRE 12 Migrer vers Subversion... 149 Installer cvs2svn................................................. 150 Décider du niveau de conversion.................................... 150 Convertir votre dépôt............................................. 151 CHAPITRE 13 Outils tierce partie... 153 TortoiseSVN................................................... 153 Télécharger et installer......................................... 154 Extraire une copie de travail..................................... 154 Faire des modifications......................................... 155 Propager les modifications...................................... 157 Résoudre des conflits.......................................... 157 Intégration aux environnements de développement...................... 160 Autres outils.................................................... 160 ANNEXE A Résumé des commandes... 161 Résumé des commandes de Subversion............................... 161 Options communes........................................... 161 svn add.................................................... 162 Options................................................. 162 svn blame................................................... 162 svn cat..................................................... 162 Options................................................. 162 svn checkout................................................ 163 Options................................................. 163 svn cleanup................................................. 163 svn commit................................................. 163 Options................................................. 163 svn copy.................................................... 164 Options................................................. 164 svn delete................................................... 164 Options................................................. 164 svn diff..................................................... 165 Options................................................. 165 svn export.................................................. 165 Options................................................. 165 svn import.................................................. 166

Table des matières XI Options................................................. 166 svn info.................................................... 166 Options................................................. 166 svn list..................................................... 166 Options................................................. 166 svn log..................................................... 167 Options................................................. 167 svn merge................................................... 167 Options................................................. 168 svn mkdir................................................... 168 svn move................................................... 168 Options................................................. 168 svn propdel................................................. 168 svn propedit................................................. 169 svn propget................................................. 169 Options................................................. 169 svn proplist................................................. 169 Options................................................. 169 svn propset.................................................. 170 Options................................................. 170 svn resolved................................................. 170 Options................................................. 170 svn revert................................................... 170 Options................................................. 171 svn status................................................... 171 Options................................................. 172 svn switch.................................................. 173 Options................................................. 173 svn update.................................................. 173 Options................................................. 174 Comment faire pour............................................... 174 Extraire (chapitre 3)....................................... 174 Extraire une révision donnée (chapitre 4)......................... 174 Extraire la révision d une date donnée (chapitre 4).................. 174 Savoir d où vient une copie de travail (chapitre 4)................... 174 Actualiser une copie de travail (chapitre 4)........................ 174 Actualiser des éléments donnés d une copie de travail (chapitre 4)......... 174 Ajouter des fichiers à un dépôt (chapitre 4)......................... 174 Définir une propriété sur un fichier ou un répertoire (chapitre 6)......... 175 Modifier une propriété sur un fichier ou sur un répertoire (chapitre 6)...... 175

XII Pratique du développement collaboratif avec Subversion Faire la liste de toutes les propriétés sur un fichier ou sur un répertoire (chapitre 6)................................ 175 Afficher le contenu d une propriété (chapitre 6)...................... 175 Supprimer une propriété (chapitre 6)............................ 175 Activer l expansion de mots-clés pour un fichier (chapitre 6)............. 175 Ignorer certains fichiers dans un répertoire (chapitre 6)................ 175 Définir le caractère de fin de ligne d un fichier (chapitre 6)............. 175 Définir le type MIME d un fichier (chapitre 6)..................... 175 Marquer un fichier comme exécutable (chapitre 6)................... 176 Copier un fichier ou un répertoire (chapitre 4)...................... 176 Renommer un fichier ou un répertoire (chapitre 4)................... 176 Déplacer un fichier ou un répertoire (chapitre 4)..................... 176 Afficher les changements dans un fichier ou un répertoire (chapitre 4)...... 176 Comparer deux révisions d un fichier (chapitre 4).................... 176 Afficher les différences entre un fichier et la dernière révision du dépôt (chapitre 4)........................ 176 Afficher les modifications les plus récentes d un fichier (chapitre 4)........ 176 Créer un fichier patch (chapitre 4).............................. 176 Appliquer un patch (chapitre 4)................................ 177 Supprimer vos modifications face à un conflit (chapitre 5).............. 177 Supprimer les modifications d une autre personne face à un conflit (chapitre 5).................................. 177 Marquer un conflit comme résolu (chapitre 5)...................... 177 Propager des modifications (chapitre 4)........................... 177 Afficher l historique d un fichier (chapitre 4)....................... 177 Afficher l activité récente d un répertoire (chapitre 4)................. 177 Afficher l historique détaillé d un fichier (chapitre 4).................. 177 Annoter un fichier avec les informations sur ses auteurs (chapitre 4)....... 177 Poser un verrou sur un fichier (chapitre 5)......................... 178 Supprimer un verrou en tant qu'administrateur (chapitre 5)............ 178 Supprimer un verrou en tant qu'utilisateur (chapitre 5)............... 178 Voler un verrou (chapitre 5).................................. 178 Revenir sur une modification déjà propagée (chapitre 5)............... 178 Vérifier l état de la copie de travail (chapitre 4)..................... 178 Afficher les mises à jour en attente par rapport au dépôt (chapitre 4)....... 178 Créer une branche de livraison (chapitre 8)........................ 178 Extraire une branche de livraison (chapitre 8)...................... 178 Associer une copie de travail à une branche de livraison (chapitre 8)....... 179 Associer une copie de travail au tronc commun (chapitre 8)............. 179 Créer une marque de livraison (chapitre 8)........................ 179 Extraire une livraison (chapitre 8).............................. 179

Table des matières XIII Fusionner un correctif de bogue simple depuis une branche de livraison vers le tronc commun (chapitre 8)............................... 179 Créer une branche pour un correctif complexe (chapitre 8).............. 179 Extraire une branche de correctif de bogue (chapitre 8)................ 179 Marquer la fin d un correctif (chapitre 8)......................... 180 Fusionner un correctif de bogue complexe dans une branche de livraison (chapitre 8)......................... 180 Créer des branches expérimentales (chapitre 8)...................... 180 Utiliser une branche expérimentale (chapitre 8)..................... 180 Revenir au tronc commun (chapitre 8)........................... 180 Savoir quand a été créée une branche (chapitre 8).................... 180 Fusionner une branche expérimentale (chapitre 8)................... 180 Importer un projet dans le dépôt (chapitre 9)....................... 181 Créer des répertoires pour un projet (chapitre 9)..................... 181 Importer du code de tierce partie (chapitre 10)...................... 181 Marquer un paquetage fournisseur (chapitre 10).................... 181 Charger un paquetage fournisseur (chapitre 10)..................... 181 Utiliser du code d un fournisseur dans un projet (chapitre 10)........... 181 Mettre à jour le code d un fournisseur dans un projet (chapitre 10)........ 181 Démarrer svnserve sous Windows (chapitre 11)..................... 182 Démarrer svnserve sous Unix (chapitre 11)........................ 182 Créer une sauvegarde complète de votre dépôt (chapitre 11)............. 182 Créer une sauvegarde incrémentale de votre dépôt (chapitre 11).......... 182 ANNEXE B Ressources... 183 Ressources en ligne............................................... 183 Le site web de Subversion....................................... 183 Pragmatic Programmer........................................ 184 Subversion Book............................................. 184 Better SCM................................................. 184 CM Crossroads.............................................. 184 Index... 185