PROGRAMMATION WEB. Introduction à SVN. 20 septembre 2015 Denis Monnerat. IUT de Fontainebleau. monnerat@u-pec.fr. Introduction à SVN 1



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

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

Les systèmes de gestion de version

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

Serveur Subversion Debian GNU/Linux

Systèmes de gestion de code source

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

Correspondances Windows-Linux

Le système de gestion de version Git et GitHub

Outils de développement collaboratif

Atelier Le gestionnaire de fichier

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

Utiliser Subversion (SVN) avec Tortoise

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

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

Tutoriel git. Régis Briant, Youngseob Kim & Dmitry Khvorostyanov. Table des matières. 1 Configurer git 2

MANUEL UTILISATEUR KIWI BACKUP V 3

Manuel. Administration P.CONSEIL. 12 avril Statut :

A. Architecture du serveur Tomcat 6

Guide d utilisation. Version document 0.8. Trouver toute la documentation sur :

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

Guide d installation de Gael

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

TP1 - Prise en main de l environnement Unix.

Ecran principal à l ouverture du logiciel

Gestion des documents avec ALFRESCO

Gestion de configuration

NAS 109 Utiliser le NAS avec Linux

Plateforme académique de partage de documents - owncloud

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

Groupe Eyrolles, 2006, ISBN :

Au-delà de la simple gestion de votre fonds documentaire, évoluez vers la gestion complète de vos flux d informations.

Cliquez sur le site que vous souhaitez consulter, il s affichera directement dans le navigateur.

Groupe Eyrolles, 2003, ISBN : X

Un outil open source de gestion de bibliographies

Les différentes méthodes pour se connecter

Manuel du logiciel PrestaTest.

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

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

Application Web et J2EE

1 Démarrage de Marionnet

Comment se connecter au dossier partagé?

CTIconnect PRO. Guide Rapide

MANUEL UTILISATEUR SOPISAFE V 3.5

MANUEL D'INSTALLATION SUR WINDOWS 2003/2008 SERVER

CREATION WEB DYNAMIQUE

Serveur de travail collaboratif Michaël Hoste -

Une ergonomie intuitive

A. Présentation. LanScanner2006

IBM SPSS Collaboration and Deployment Services Deployment Manager 5 - Instructions d installation

wxwidgets dans un environnement Microsoft Windows

TP 4 de familiarisation avec Unix

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

ALOHA Load Balancer Guide de démarrage

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

Tour des Unités du C.I.A.M. Tour des Unités du C.I.A.M. Maurice Baudry Laboratoire Statistique & Génome, Évry.

Installation de Concrete 5

Groupe Eyrolles, 2004 ISBN :

L informatique en BCPST

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Hands on Openstack : Introduction

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

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

ZOTERO Un outil gratuit de gestion de bibliographies

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Jalios Delivery Engine 1.0 (JADE) Manuel d installation et d exploitation

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

Installation / Sauvegarde Restauration / Mise à jour

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

Ce qu'il faut savoir: L'outil de sauvegarde Bacula, peut exploiter 3 moyens différents:

Étude de l application DNS (Domain Name System)

Projet de développement

Formation subversion (svn) Marc-Olivier Buob

Lieberman Software Corporation

Déployer les Fonts, Icones, et Images avec Forms Services 11G

Mise à jour : Octobre 2011

OwnCloud. Définition 1 / 10. Date d'édition 03/09/2013 Public concerné Étudiants, Personnels Version du logiciel

Logiciel HLA Fusion Version 3.X.X

Tutoriel code::blocks

Installation et configuration d OCS/GLPI sur un Serveur Debian

Chamilo Manuel Administrateur. Guide de l'administrateur. Chamilo janvier 2012 Page 1 / 108

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Découvrez notre solution Alternative Citrix / TSE

Trixbox: Asterisk packagé. Unité Réseaux du CNRS

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

Modelio by Modeliosoft

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

VTP. LAN Switching and Wireless Chapitre 4

Le Registre sous Windows 8 architecture, administration, script, réparation...

Espace Numérique Régional de Santé PACA. Formation Web Conférence

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Zabbix. Solution de supervision libre. par ALIXEN

Utiliser l'atelier de développement V3

Utilisation d une tablette numérique

Transcription:

PROGRAMMATION WEB Introduction à SVN 20 septembre 2015 Denis Monnerat monnerat@u-pec.fr IUT de Fontainebleau Introduction à SVN 1

Sommaire 1. Introduction 2. Notions de bases 3. Cycle d utilisation 4. Gestion des fichiers 5. Outils 2

Introduction

SVN? Subversion est un logiciel de gestion de sources et de contrôle de versions. Ce type de programmes a plusieurs fonctions, notamment : Garder un historique des différentes versions des fichiers d un projet ; Permettre le retour à une version antérieure quelconque ; Garder un historique des modifications avec leur nature, leur date, leur auteur... ; Permettre un accès souple à ces fichiers, en local ou via un réseau ; Permettre à des utilisateurs distincts et souvent distants de travailler ensemble sur les mêmes fichiers. https://subversion.apache.org/ 4

Points forts Multiplateforme ; Logiciel libre ; Centralisée ; Utilisation et administration faciles ; Plusieurs modes d accès distants, dont SSH et WebDAV via Apache. 5

Notions de bases

SVN est centralisé Serveur commit update commit update Développeur A Développeur B 7

Révision, branches, merge 8

Dépot Emplacement central où sont stockées toutes les données relatives aux projets gérés. Le dépôt est accédé via une URL locale ou distant. Projets Au sein d un dépôt se trouvent un ou plusieurs projets. À chaque projet correspond en général un répertoire situé à la racine du dépôt et qui contient lui-même les fichiers et dossiers du projet proprement dit. Arborescence classique Dépot projet1 projet2 trunk branches tags trunk branches tags 9

Copie de travail La copie de travail est un répertoire situé en local sur le poste de l utilisateur et qui contient une copie d une révision donnée des fichiers du dépôt. C est cette copie qui sert de base de travail et qui est modifiée en local avant d être importée (sauvegardée) vers le dépôt. Révisions Chaque modification faite au dépôt constitue une révision. Le numéro de révision commence à 1 et augmente de 1 à chaque opération. Sa valeur n a aucune importance, mais c est un indicateur qui permet de revenir à une version donnée d un ou plusieurs fichiers. 10

import Cette opération consiste à importer dans le dépôt (sur le serveur) des fichiers. Cette opération ne se fait en général qu une fois par projet. checkout Le checkout est l opération qui consiste à récupérer pour la première fois les fichiers déjà existant au sein d un projet du dépôt. Cette opération ne se fait en général qu une fois par projet. Le résultat est une copie de travail. update L update consiste à synchroniser la copie de travail locale avec le dépôt en récupérant la dernière version des fichiers du dépôt. C est à cette occasion que des conflits de version peuvent apparaître. 11

commit Un commit est l opération inverse d un update. Elle consiste à mettre à jour le dépôt à partir de la copie de travail locale. Une nouvelle révision est alors créée. Un log (simple message texte contenant une description des modifications effectuées) doit être saisi à cette occasion. À noter que pour qu un commit soit possible, il faut que la copie de travail corresponde à la dernière version du dépôt (modifications locales exceptées). Si ce n est pas le cas, il est nécessaire d effectuer d abord un update et de résoudre les conflits éventuels avant de réessayer le commit. 12

Cycle d utilisation

Initilisation coté serveur Création du dépôt (Serveur) : svnadmin create Remarque : il faut configurer les contrôles d accès au dépôt. Import (facultatif) : svn import 14

Récupération d une copie de travail svn checkout 15

Synchronisation dépot copie locale svn update 16

Synchronisation copie local dépôt svn commit 17

Récupération versions antérieures La dernière version : svn revert Une révision quelconque : svn update -r numrev 18

Informations sur une copie svn info 19

Gestion des fichiers

Gestion des fichiers Ajout : svn add Suppression : svn delete 21

Gestion des fichiers Renommage : svn mv 22

Conflits La copie a déjà été mise à jour. Il faut faire un update et mettre en concurrence les deux versions. Si Subversion ne peut pas résoudre tout seul le conflit : 23

Résolution 24

foo.txt.mine foo.txt.r15 foo.txt.r16 foo.txt copie du fichier tel qu il se trouvait dans votre copie de travail, en local, avant de faire l update. C est la version que vous souhaitiez "commiter" avant de détecter un conflit version du fichier pour la révision 15, c est à dire lors de votre dernier update. C est la version qui a servi de base pour les deux utilisateurs du dépôt qui ont travaillé en parallèle version du fichier pour la révision 16, c est à dire la version actuellement dans le dépôt. Il s agit de la version modifiée par un autre utilisateur, "commitée" avant votre update et dont le contenu est à l origine du conflit version qui, en quelque sorte "résume" les trois autres en faisant apparaître les différences entre versions au sein d un seul fichier 25

On résout à la main en éditant le fichier. et on marque le conflit résolu avant de "commiter". 26

Outils

Informations svn help svn info svn log svn blame svn status svn list aide de svn informations sur la copie de travail historique historique ligne par ligne (révisions et auteurs) état de la copie depuis le dernier update liste d un dépôt distant 28

Traditionnellement, le repertoire principal (la branche principale, le tronc) est placé dans le repertoire trunk. On peut créer des branches de développements différentes, placées usuellement dans le repertoire branches. Pour créer une branche, on copie le tronc (souvent) dans une nouvelle branche : svn copy 29

Pour changer de branche : svn switch Sur le même principe, on peut créer des Tags, c est à dire des instantanés de l état d un dépôt. On peut également fusionner des branches avec l option svn merge. 30

Hooks Scripts Sur le serveur, des scripts personnalisées peuvent être exécutés juste avant ou après un commit (il y a d autres évenements). très pratique, par exemple pour : Mettre la version en production automatiquement. Envoyer un mail. Indenter les sources automatiquement avant le commit. etc. 31

Clients svn La console et la commande svn. TortoiseSVN etc. Il existe de nombreux outils graphiques, ou de plugins pour éditeurs de texte ou navigateurs de fichiers. 32

Un exemple sous linux avec rapidsvn : http://rapidsvn.tigris.org/ 33