Subversion. 2 Subversion : Pour Quoi Faire ? Problèmes de la gestion du code dans un projet – Durée de vie du projet peut être longue : besoin de gérer.

Slides:



Advertisements
Présentations similaires
Concurrent Version System
Advertisements

Subversion.
Subversion, un outil de gestion de version
Subversion.
PARTIE B: Systèmes de contrôle de révisions Plusieurs acteurs sur un même projet Projets distribués Entremêlement des préoccupations Entremêlement des.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
1 Après 3 séances ● Utilisation du système Linux – Il faut maîtriser l'utilisation de la souris (« copy/paste » des textes donnés) – Utilisation de la.
QuickPlace de LOTUS Logiciel générateur de SITE WEB : Installé sur un serveur (grenet), Permet de créer / gérer / utiliser un site privé, De donner des.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
JPF 2008 Gestion distribué de version avec Mercurial Michael Scherer JPF 2008.
SUBVERSION un serveur de sources libre le jeudi 31 janvier 2008 – Association Lolita V 1.0 – Michel Cerdini.
Le système d'exploitation LINUX L'environnement. 2/2/ Objectifs Maîtriser : Un environnement de travail Des outils bureautiques Des outils de développement.
Jean-Michel GLORIAN Atelier COMPIL du 08/06/10 SVN Client - Niveau découverte Atelier COMPIL SVN client Niveau découverte.
Gestion des PJ Service National d'Enregistrement Dossier Unique.
1 Après 5 séances ● Utilisation du système Linux – Il faut maîtriser l'utilisation de la souris (« copy/paste » des textes donnés) – Utilisation de la.
SIRH EPICEA - AGORHA Présentation Gestion Administrative 16 septembre 2011 SG-SRH- MISIRH.
Subversion. 2 Subversion : Pour Quoi Faire ? Problèmes de la gestion du code dans un projet – La durée de vie du projet peut être longue : besoin de gérer.
1 Gestion de version Subversion Thomas Petazzoni 2 octobre 2009.
1/6 Commandes de base en mode console sous LINUX/UNIX ● Arborescence, fichiers et répertoires ● Alias ● Manpages ● Editeur de texte vi.
1 Java Avancé Eclipse pour les null Rémi Forax
Octobre 2013 Smartweb Refonte des sites Internet AIDE – K-Sup v6.
21/10/2017 L’organisation et la gestion des fichiers sur le site collaboratif MartineCochet 2SitePleiadeGestionFichier.
Structure et Services « STS » Menu Structures : Divisions
Guide d’utilisation Juin 2017.
Comment accroître le nombre de contributions externes ?
Les commandes du système de fichiers
Objectifs Maîtriser : Un environnement de travail
Gestion de version centralisée et décentralisée
Sécurité - Cisco ASA Outil de capture WebVPN
Sous menu de l’application «micro» (‘IHM’)
Le « Bugtracking » Alejandro FERNANDEZ – Etienne FONTEIX
Michel Jouvin LAL/Orsay
Séminaire EOLE Beaune Septembre 2007
CADAL Layout de la page langue Accueil> Qu'est ce que Cadal ? Légal
Status logiciel 29 avril 2010.
Chiffrement de bout en bout
Formation Subversion 1 1.
Gestion Administrative
AMUE – SIFAC Les concepts de SIFAC WEB HISTORIQUE DES MISES A JOUR
WEBAFFILIGUE - ASSOCIATION
Guillaume Philippon Tutoriel git.
Unix Raymond Ripp.
Fonctionnement et workflow
Gestion du cours Aissa Boulmerka.
LE NUMERIQUE À STENDHAL pour les élèves et les parents
Projet de voyage – Partie 1
Guide des différences entre les deux versions de l’interface web
SRT2 APACHE.
Git 09/04/2015 Julien
Les protocoles de la couche application Chapitre 7.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Présentation de l’outil
Gestion des photos Organisation du disque dur, Navigation
LA VIE D’UNE COMMANDE DANS BAAN IV
SVN et Trac dans un contexte ASR
FORMATION UTILISATION LOGICIEL BILAN SOCIAL
“Laisser sa trace dans un fichier”
La gestion des habilitations par le partenaire
Formation git.
Ajouter un ou plusieurs postes à partir d’anciens paniers et modèles
Mémo pour complétude PAAT établissement du GHT xxxxx
Formation SpeechExec Enterprise Dictate
FRAMEWORKS : XMLBEANS / STRIPES
5.6 Documentation du SCI Certains documents doivent être gardés chez chaque paysan ainsi qu’au bureau du SCI (tel que prescrit par le Manuel du SCI:
Intégration GRIF Michel Jouvin Comité Technique GRIF 28 Novembre 2005.
COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
Qu’est ce qu’une page web? Comment fonctionne un site web?
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Inscription en ligne Vue responsables
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

Subversion

2 Subversion : Pour Quoi Faire ? Problèmes de la gestion du code dans un projet – Durée de vie du projet peut être longue : besoin de gérer l’historique Changement d’architecture Changement des personnes impliquées dans le développement – Travail en parallèle sur plusieurs versions Maintenance d’une ancienne version en // avec la version courante Test de nouvelles fonctionnalités sans impacter la version courante Pouvoir propager facilement des changements d’une version à l’autre – Plusieurs personnes impliquées en même temps dans le développement Travailler simultanément sur le même code Détecter et (aider à) résoudre les conflits Membre de la famille des Version Control System (VCS) – CVS est 1 des plus anciens et des plus connus (open source) – Subversion (SVN) en reprend les principaux concepts en les modernisant – Texte et binaire, language neutral, pas de gestion de configuration

3 Le Modèle CVS/SVN repository Working area B Working area A Check-out commit Repository central Base de données contenant l’ensemble des versions (révisions) Unique pour 1 projet Synchronisation entre working area et repository Atomique (SVN) Détection/Résolution des conflits Copies locales, dans des working area Pas de « locking » : plusieurs utilisateurs peuvent modifier 1 copie différente du même fichier

4 SVN : Référencer un Repository On désigne un repository par son URL – Exemple : On appelle branche tout répertoire dans le repository – Correspond à un répertoire dans l’espace de travail – 1 niveau supplémentaire dans l’URL – Exemples : Grand choix de clients SVN – Command line : svn Nom des commandes généralement identique à CVS – Client Web : WebSVN Consultation du repository uniquement

5 R WAWA R WAWA WA – checkout – update – revert Principales Opérations – info – status – resolved – add – commit R – log

6 R WAWA Crée une copie locale (d'une branche) du repository – svn co URL – Ex : svn co Projets Check-out % svn co Projets Checked out revision 4. % cd Projets/

7 WA Permet de connaître la branche associée au répertoire local – svn info Info % svn info Path:. URL: Repository UUID: 589c a-0410-a932-a3fdf8820ca6 Revision: 4 Node Kind: directory Schedule: normal Last Changed Author: jouvin Last Changed Rev: 4 Last Changed Date: :07: (Tue, 17 Jan 2006)

8 Ajoute 1/des fichiers au repository lors de la prochaine synchronisation – svn add fichier/répertoire – Nécessaire pour tout fichier/répertoire créé depuis le check-out – Si répertoire, traite tous les fichiers et répertoires contenus Add % echo "Test" > fichier1.txt % svn add fichier1.txt A fichier1.txt R WAWA

9 WA Permet de connaître l’état du répertoire de travail – svn status [-u] – 1 ligne par fichier modifié par rapport au repository – -u force la vérification par rapport au repository et non à la copie locale Status % svn status A fichier1.txt

10 R WAWA Enregistre les modifications locales dans le repository – svn ci –m « message » – Crée une nouvelle révision du repository contenant toutes les modifications – Demande un username/password si nécessaire (ens2006, non changeable) – Possible uniquement si l’espace de travail à jour par rapport au repository Commit % svn ci -m 'Ajout de fichier1.txt' Adding fichier1.txt Authentication realm: LAL … Password for 'jouvin': Transmitting file data. Committed revision 5.

11 Update Intégre les changements du repository dans la copie locale – svn update [-r révision] – Ajout des nouveaux fichiers (A) ou mise à jour des autres (U) – Préserve les modifications locales en faisant un merge (G) – Signale les conflits : modification locale en conflit avec une modification du repository (C) En cas de conflit, création de plusieurs versions du fichier Empêche les commits R WAWA % echo “Modif perso” >> fichier1.txt % svn update C fichier1.txt  conflit sur le fichier A fichier2.txt  fichier ajouté Updated to revision 7. % ls fichier1.txt fichier1.txt.r5 fichier2.txt fichier1.txt.mine fichier1.txt.r7

12 WA Resolved Indique que le conflit a été résolu – svn resolved fichier – Supprime les versions temporaires créées % cp fichier1.txt.mine fichier1.txt % svn resolved fichier1.txt fichier1.txt fichier1.txt.mine fichier1.txt.r5 fichier1.txt.r7 % svn resolved fichier1.txt Resolved conflicted state of 'fichier1.txt' % ls fichier1.txt fichier2.txt

13 Revert Revient à la version du repository – svn revert fichier/répertoire – Restaure la version du dernier update. Les modifications sont perdues – resolved implicite en cas de conflit sur le fichier/répertoire % cat fichier1.txt Test Modif perso % svn revert fichier1.txt Reverted 'fichier1.txt' % cat fichier1.txt Test 1ere modif R WAWA

14 Log Liste les messages associés à chaque révision d’un fichier/répertoire – svn log [fichier/répertoire] [-v] [--stop-on-copy] – Ne liste que les révisions qui concernent la branche (fichier) courante – Inclut les opérations de copie entre branches, sauf si --stop-on-copy – Faire svn update pour voir les révisions des derniers commits R asc/jouvin % svn log r7 | jouvin | :53: (Wed, 18 Jan 2006) | 1 line Modif 1er fichier r6 | jouvin | :51: (Wed, 18 Jan 2006) | 1 line Ajout 2eme fichier r5 | jouvin | :49: (Tue, 17 Jan 2006) | 1 line Ajout de fichier1.txt ……

15 R WAWA R WAWA WA check-out : crée une copie locale (d'une branche) du repository – svn co URL – Ex : svn co Projets info : permet de connaître la branche associée au répertoire local – svn info add : ajoute 1/des fichiers au repository lors de la prochaine synchronisation – svn add fichier/répertoire – Nécessaire pour tout fichier/répertoire créé depuis le check-out – Si répertoire, traite tous les fichiers et répertoires contenus status : permet de connaître l’état du répertoire de travail – svn status [-u] – 1 ligne par fichier modifié par rapport au repository – -u force la vérification par rapport au repository et non à la copie locale Principales Opérations…

16 commit : enregistre les modifications locales dans le repository – svn ci –m « message » – Crée une nouvelle révision du repository contenant toutes les modifications – Demande un username/password si nécessaire (ens2006, non changeable) – Possible uniquement si l’espace de travail à jour par rapport au repository update : intégre les changements du repository dans la copie locale – svn update [-r révision] – Ajout des nouveaux fichiers (A) ou mise à jour des autres (U) – Préserve les modifications locales en faisant un merge (G) – Signale les conflits : modification locale en conflit avec une modification du repository (C) En cas de conflit, création de plusieurs versions du fichier Empêche les commits resolved : indique que le conflit a été résolu – svn resolved fichier – Supprime les versions temporaires créées... Principales Opérations… R WAWA R WAWA WA

17 … Principales Opérations revert : revient à la version du repository – svn revert fichier/répertoire – Restaure la version du dernier update. Les modifications sont perdues – resolved implicite en cas de conflit sur le fichier/répertoire log : liste les messages associés à chaque révision d’un fichier/répertoire – svn log [fichier/répertoire] [-v] [--stop-on-copy] – Ne liste que les révisions qui concernent la branche (fichier) courante – Inclut les opérations de copie entre branches, sauf si --stop-on-copy – Faire svn update pour voir les révisions des derniers commits R WAWA R

18 Opérations sur les Fichiers... SVN garde la trace de tous les fichiers renommés, copiés, détruits, … – Permet de conserver l’historique même si le fichier est renommé – Indique la révision du fichier dont est issu un nouveau fichier (copy/mv) – Gère la création/suppression/renommage des répertoires Aucune opération sur les fichiers implicite pour SVN – Doit notifier à SVN des changements – svn status indique les inconsistances (!) Pour simplifier, SVN permet d’appeler les commandes cp, mv, mkdir… – svn cp, svn mv, svn rm, svn mkdir Possible de faire oublier un fichier détruit à SVN – svn rm --force fichier

19... Opérations sur les Fichiers % svn cp fichier1.txt fichier3.txt A fichier3.txt % ls fichier1.txt fichier2.txt fichier3.txt % svn status A + fichier3.txt

20 Fonctionnalités Avancées diff : visualiser les différences entre 2 versions d’un (groupe de) fichier – Avec l’espace de travail : svn diff [-r révision] fichier/répertoire – Entre 2 révisions du repository : svn diff [-r r1:r2] fichier/répertoire Plus facile avec un interface Web (WebSVN, Trac…) WebSVN au LAL : merge : revenir à une révision antérieure du repository – svn merge –r HEAD:révision fichier/répertoire – Ne modifie pas le repository mais seulement la copie locale (faire un commit pour valider le retour à la révision antérieure) – update permet de restaurer une version antérieure dans l’espace de travail mais cause un conflit lors du commit commit exige que l’espace de travail soit à jour par rapport à la dernière révison – D’autre formes plus complexes pour appliquer une modification se trouvant ailleurs dans le repository R WAWA

21 Pour en Savoir Plus… Documentation SVN en ligne – L’aide en ligne – svn help [command]