Gestion de version centralisée et décentralisée

Slides:



Advertisements
Présentations similaires
Concurrent Version System
Advertisements

Concurrent Versatile Versions
27 juin Formation à lutilisation dun client Subversion Vincent Carpier Florent Guilleux Paris, 27 Juin 2007.
Subversion.
Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.
De CVS à SVN Xavier Baril. (C) Xavier Baril2 Plan Origine Apports de SVN Reprise des concepts CVS Quelques différences Conclusion.
Subversion, un outil de gestion de version
08 Avril 2010 Versionnement de CODE (Subversion SVN et USVN) CATI Ecoinformatique le 08/04/2010.
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.
Emacs Laurent Pierron
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.
Méthodes et outils employés pour développer des logiciels libres Étude basée sur le cas du projet Debian Par Raphaël Hertzog Gérant de Freexian SARL Développeur.
Ghost (Création d'image Système)‏ C.R.I.P.T Informatique (BOYER Jérôme)‏
Qu'est ce que le logiciel libre ?. Qu'est-ce qu'un logiciel ? ● C'est une application informatique qui répond à un besoin : traitement de texte, navigateur.
Les sauvegardes Pourquoi sauvegarder ? Que sauvegarder ? Quand sauvegarder ? Ou sauvegarder ? Et comment ?
1 La gestion de versions Vitthagna Barnier Paul Clément.
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. 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.
SUBVERSION un serveur de sources libre le jeudi 31 janvier 2008 – Association Lolita V 1.0 – Michel Cerdini.
Jean-Michel GLORIAN Atelier COMPIL du 08/06/10 SVN Client - Niveau découverte Atelier COMPIL SVN client Niveau découverte.
Organisation du projet PostgreSQL. À propos des auteurs ● Guillaume Lelarge ● ●
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.
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.
Sauvegardes ● Le « workspace » (``'espace de travail''), c'est à dire l'ensemble des variables, a été sauvegardé sur le disque. Cela permet de reprendre.
Tableau Numérique Interactif Quels usages du TNI dans sa pratique de classe et pourquoi ? Prise en main des différentes fonctionnalités et applications.
BUR Tableur Tableur : Open Office Calc. BUR Tableur 2 Qu’est-ce qu’un tableur ?  Un logiciel permettant de manipuler des feuilles de calcul  Fonctionnalités.
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
1 La gestion de versions Vitthagna Barnier Paul Clément.
Après 3 séances Tous les binômes ont commencé l'exercice « Formes »
AMUE – SIFAC Intégration Fichier Mouvements BDF
OpenStreetMap (OSM) Utiliser l'éditeur JOSM
Mise en place d’un système de partage de fichiers
Environnement du développement de BD ORACLE REPORTS 10g
Guide d’utilisation Juin 2017.
Quels outils collaboratifs pour mon association ?
Le « Bugtracking » Alejandro FERNANDEZ – Etienne FONTEIX
Résolution de grilles Slither Link
Status logiciel 29 avril 2010.
Formation Subversion 1 1.
Collecte de données CAPI
Centralisation de logs
Des outils pour le développement logiciel
évolutions et perspectives
Après 3 séances Tous les binômes ont commencé l'exercice « Formes »
HTML & css.
Guillaume Philippon Tutoriel git.
Fonctionnement et workflow
Questions 1- Qu'est ce qu'un réseau informatique ?
Questions Qu'est ce qu'un réseau informatique ?
Plus de 4000 langages....
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Présentation de l’outil
Gestion des photos Organisation du disque dur, Navigation
SVN et Trac dans un contexte ASR
Tableau Numérique Interactif
Formation git.
PLATE FORME DE GESTION ÉLECTRONIQUE DE DOCUMENTS Présenté par: Amine LARIBI.
Formation SpeechExec Enterprise Dictate
Formation « Utiliser un site Internet école »
Bases – Banques Entrepôts de données
A la découverte du courrier électronique.
LE SYSTÈME D’INFORMATION LE (SI). Définition Qu’es ce que c’est une entreprise ■L’entreprise rassemble l’ensemble des activités d’une personnes ou d’un.
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.
L’apprentissage par la robotique Mr. Zouari Lazhar
Transcription de la présentation:

Gestion de version centralisée et décentralisée Principes et application avec Subversion et Arch Thomas Petazzoni Ludovic Courtès Mercredi 10 Janvier

Je commence un document

Je fais une sauvegarde

On copie pour tester un truc

Euh, j'éditais quel fichier déjà ?

La gestion de version se propose de résoudre ces problèmes Explosion du nombre de fichiers à gérer Gestion manuelle du graphe de versions/modifications Encore plus complexe quand le travail se fait à plusieurs La gestion de version se propose de résoudre ces problèmes

Gestion de version Activité consistant à maintenir l'intégralité de l'historique des fichiers d'un projet Toutes les versions de chaque fichier sont enregistrées Permet de revenir en arrière en cas d'erreur relire les modifications introduites entre deux versions différentes travailler à plusieurs sur un même projet gérer des branches de développement parallèles estampiller des versions bien identifiées du projet

Gestion de version Utile pour: code source documents HTML, LaTeX, texte brut données binaires, avec des fonctionnalités réduites Indispensable dès que l'on travaille à plusieurs utilisé massivement pour le développement des Logiciels Libres Très pratique même lorsque l'on travaille seul (historique, etc.)

Gestion centralisée Dépôt Client Client En gestion de version dite centralisée: un serveur central appelé dépôt ou repository CVS: l'outil historique, encore très utilisé Subversion: la version moderne Dépôt Client Client

Opérations de base Créer une copie de travail du dépôt svn checkout Éditer les fichiers emacs, vi Voir les différences svn diff Propager ses modifications vers le dépôt svn commit Récupérer les autres modifications en provenance du dépôt svn update Démonstration !

Changeset Après modification de plusieurs fichiers, on peut les committer ensemble ces modifications forment un changeset le numéro de version du dépôt s'incrémente, ce numéro identifie de manière unique le changeset Subversion est différent de CVS sur ce point, pas de notion de changeset dans CVS, chaque fichier évolue séparément La bonne pratique est d'avoir un changeset pour chaque modification «logique» Démonstration !

Gestion des conflits Si plusieurs personnes travaillent en même temps sur un fichier et le modifient, comment résoudre le conflit ? A' A A'' Dépôt A' A A A'' Linus Richard

Gestion des conflits Solution simpliste: verrouillage Solution efficace: fusion A'' A A* A* A' A A'' A* A'' A Linus Richard Démonstration !

Opérations plus avancées Résoudre un conflit éditer, puis svn resolved fichier Ajouter un fichier svn add fichier Renommer/déplacer un fichier svn mv fichier1 fichier2 Supprimer un fichier svn rm fichier1 Copier un fichier svn copy fichier1 Démonstration !

Étiquettes, branches On peut vouloir identifier par un nom symbolique une version donnée du projet étiquette = tag « poser un tag » On peut vouloir travailler sur une branche particulière d'un projet, pour faire de la maintenance développer une nouvelle fonctionnalité qui risque d'être assez instable au départ « créer une branche »

Étiquettes, branches Contrairement à CVS, pas de gestion explicite des étiquettes et branches tout se fait avec des copies les copies sont paresseuses permet de versionner les créations/destructions de tags/branches

Étiquettes, branches Organisation classique d'un projet project/ trunk/ Branche principale tags/ Répertoire où sont stockés les étiquettes branches/ Répertoire où sont stockés les branches Créer une étiquette svn copy ..../project/trunk ..../project/tags/v1.0 Détruire une branche svn rm ..../project/branches/new-feature Fusionner svn merge .../project/trunk ../project/branches/new- feature Démonstration !

Questions ? ?

Gestion de version décentralisée, avec Arch Suite... Gestion de version décentralisée, avec Arch