CONTEXTE. GESTION DE VERSIONS Programmation Avancée - IMA / Polytech Lille L. Gonnord & J. Dequidt CONTEXTE CONTEXTE. Développement logiciel

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

Les systèmes de gestion de version

Systèmes de gestion de code source

Serveur Subversion Debian GNU/Linux

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

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

Groupe Eyrolles, 2006, ISBN :

Serveur de travail collaboratif Michaël Hoste -

Utiliser Subversion (SVN) avec Tortoise

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

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

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

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

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

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

Projet de développement

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

Environnements et Outils de Développement Cours 1 Introduction

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

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

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

Vanilla : Virtual Box

Environnement de Développement Outils Open-Source d'integration Continue. Exemple de Mise en Oeuvre

Outils de développement collaboratif

Intégration de Cisco CallManager IVR et Active Directory

Automatisation de l administration système

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Tutoriel d installation de Hibernate avec Eclipse

WEA Un Gérant d'objets Persistants pour des environnements distribués

Part IV. Outils de dévéloppement pour le logiciel libre. Logiciel libre, une introduction. Support pour le dévéloppement collaboratif

JOnAS Day 5.1. Outils de développements

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

Une introduction à la gestion de configurations. Pascal Molli web: molli September 25, 2006

PG208, Projet n 3 : Serveur HTTP évolué

Couche application. La couche application est la plus élevée du modèle de référence.

Dexia Guide d installation de NetWorker Server 25 juin Legato Systems, Inc.

Builds et tests Utilisation de CMake et de Dart

Request Tracker pour les Nuls. Yves Agostini - YVESAGO

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

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Sophos Endpoint Security and Control Guide de configuration pour réseaux étendus. Enterprise Console, version 3.1 EM Library, version 1.

Introduction à la Programmation Parallèle: MPI

Release Notes POM v5

Notes de mise à jour. 4D v11 SQL Release 2 (11.2) Notes de mise à jour

Maarch V1.4

bbc Launch Pad Juillet 2011 Version 10.0

et Groupe Eyrolles, 2006, ISBN :

Un serveur web léger et ouvert

Déployer une application Web avec WebMatrix et Ma Plateforme Web

Introduction au Système d Exploitation Unix/Linux

LES ACCES ODBC AVEC LE SYSTEME SAS

Construire des plug-ins pour SAS Management Console SAS 9.1

Configurer la supervision pour une base MS SQL Server Viadéis Services

Module BD et sites WEB

Introduction au langage C

Gestion de documents

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

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Installer Enterprise Miner 5.1 en SAS environnement Windows

Gérer ses environnements de développement avec Vagrant RMLL 2012

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.

Outils logiciels SPC - une façon simple d optimiser les performances et la protection

VTP. LAN Switching and Wireless Chapitre 4

Outils en ligne de commande

Environnements de développement (intégrés)

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

Veeam Backup and Replication

SIEMENS LX / Cloud OpenIP

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

I. Présentation du serveur Samba

Démo 2 Cas d utilisations. Partie théorique : Exercice 1: Professeur : Bruno Dufor. Démonstrateurs : Marouane Kessentini.

WINDOWS SERVER 2003 Maintenance d'active directory V1.0

Supervision de réseau

Chapitre IX : Virtualisation

Le Client/Serveur avec Enterprise Miner version 4

Bacula. It comes by night and sucks the vital essence from your computers. Guillaume Arcas

L annuaire et le Service DNS

VOTRE OFFRE CRM 360 ALL INCLUSIVE. crm.amabis.com

Slony1 2.1 Londiste 3

Installation SQL Server 2005 Express sur le serveur

Windows 8 Installation et configuration

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Direction B Unité Personnel, Administration et Budget

Gestion des références bibliographiques. Comment simplifier la gestion des références bibliographiques?

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

IFT Systèmes d exploitation - TP n 1-20%

Guide Installation Serveur Extensive Testing

Solutions de gestion de la sécurité Livre blanc

1 Introduction à l infrastructure Active Directory et réseau

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture IBM BladeCenter

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

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

Transcription:

CONTEXTE Développement logiciel Collaboratif: une équipe accè au même co source Gestion s sauvegars (journalières par exemple) GESTION DE VERSIONS Programmation Avancée - IMA / Polytech Lille L. Gonnord & J. Dequidt Besoin revenir à une version antérieure du programme / d un fichier (historique) Besoin gérer les maintenances (correctives) CONTEXTE CONTEXTE D autres besoins: Connaître qui a veloppé une fonctionnalité, qui est responsable d un bug, qui a modifié un fichier et quand... Déterminer quelle est la version courante du logiciel, quelles sont les versions qui ont été livrées aux clients Pouvoir à partir d un projet créer s versions parallèles pour (ajout fonctionnalités / refactoring /...) Des outils existent pour automatiser ces tâches Le premier du nom CVS (Concurrent Versions System) Le plus utilisé SVN (Subversion) D autres outils: GIT (utilisé pour le développement Linix), Bazaar, Mercurial... Pour ce cours, on s intéresse à SVN

ARCHITECTURE PRINCIPES DE BASE Centralisée: type clientserveur ClientC ARCHITECTURE ARCHITECTURE Le serveur contient le repository (dépôt sources): toutes les versions s fichiers historique s modifications ClientC Les utilisateurs possènt une copie locale (pas forcément à jour) s fichiers du dépôt: copie travail (working copy) ClientC acces distant par plusieurs utilisateurs

NOTION DE VERSIONS NOTION DE VERSIONS Chaque document (= fichier / répertoire / projet) possè un numéro version Ce numéro version est incrémenté à chaque modification SVN ne stocke pas toutes les versions d un fichier La révision initiale et les modifications chacune s révisions, ce qui permet reconstruire chacune s révisions ARBORESCENCE D UN PROJET ARBORESCENCE D UN PROJET Révision: version d un module (répertoire) / projet

ARBORESCENCE D UN PROJET ARBORESCENCE D UN PROJET Tronc (trunk): version centrale développement du programme Branches: zone développement secondaire (ajout fonctionnalités), permet figer le développement à une révision particulière Tags: révisions officielles du projet qui sont rendues disponibles (ex: 1.0, 2.0... ) OPÉRATIONS ELEMENTAIRES OPÉRATIONS ELEMENTAIRES import import checkout

OPÉRATIONS ELEMENTAIRES OPÉRATIONS ELEMENTAIRES commit checkout L utilisateur A effectue s modifications sur un ensemble fichiers et met à jour le dépôt = commit OPÉRATIONS ELEMENTAIRES update L utilisateur B met à jour sa copie travail pour être sûr d avoir la rnière révision du co = update

update / MOD / MOD / MOD

rev 6. commit / MOD / MOD rev 6. / MOD rev 6. Deux cas possibles: rev 6. / MOD commit Les modifications A et B concernent ux parties différentes du co. Le commit B est OK. Les modifications A et B concernent la même partie co. B doit faire un update, intégrer ses modifications et ensuite faire un commit

PRÉAMBULE SVN / COMMANDES Avant l import initial, il faut déterminer les fichiers que vous vez mettre sur le dépôt Tous les fichiers source, en-tête, bibliothèques externes Des fichiers configuration Les Makefile Les données (textes, sons, images...) nécessaires à l exécution du programme STOCKAGE / ACCES IMPORT / ACCES Votre dépôt n est pas nécessairement sur votre disque Accès avec http / https (sécurisé): http(s)://[user][serveur]/ [chemin du projet] Accès via un serveur svnserve: svn://[user][serveur]/[chemin du projet] svn+ssh://[user][serveur]/[chemin du projet] svn+ssh://quidt@scm.gforge.inria.fr/monprojet svn import -m "message" <source> <protocole>/ <referentiel> svn checkout <protocole>/<referentiel>[/<repertoire>] (svn checkout svn+ssh://quidt@scm.gforge.inria.fr/monprojet)

COMMIT / UPDATE AJOUT / SUPPRESSION / DEPL. svn commit [-m "message"] svn update [-r REV] svn add <fichier repertoire> svn rm <fichier repertoire> svn mv <fichier repertoire(source)> <nom répertoire(cible)> INFORMATIONS hubertus:sofa quidt$ svn info sofa.cfg Path: sofa.cfg Name: sofa.cfg URL: svn+ssh://quidt@scm.gforge.inria.fr/svn/sofa-v/trunk/sofa/ sofa.cfg Root: svn+ssh://quidt@scm.gforge.inria.fr/svn/sofa-v UUID: 98e98bad-520e-0410-8a57-8b7670e1b1d8 Revision: 8361 No Kind: file Schedule: normal Last Changed Author: ctnguyen Last Changed Rev: 8326 Last Changed Date: 2010-09-08 17:09:52 +0200 (Mer, 08 sep 2010) Checksum: 0397e3af647d2ad83d289a4e3cf72a LOG hubertus:sofa quidt$ svn log r8361 ctnguyen 2010-09-13 14:00:51 +0200 (Lun, 13 sep 2010) 1 line UPDATE : more visibility in optionsgroup r8360 igor 2010-09-13 13:28:45 +0200 (Lun, 13 sep 2010) 1 line r8359 jours 2010-09-13 11:34:30 +0200 (Lun, 13 sep 2010) 1 line FIX: msvc 2008 compilation. r8357 hadrien 2010-09-13 00:25:56 +0200 (Lun, 13 sep 2010) 1 line Add Sparse Taucs LU solver r8356 francoisfaure 2010-09-10 23:58:37 +0200 (Ven, 10 sep 2010) 2 lines More tail in the documentation of EulerImplicitSolver r8355 igor 2010-09-10 17:35:49 +0200 (Ven, 10 sep 2010) 2 lines ADD: new component for NLCP (signed as virtual mechanisms), using MatrixDeriv structures for storing the constraints r8354 igor 2010-09-10 17:32:50 +0200 (Ven, 10 sep 2010) 2 lines UPDATE: minor correction of the driver to make it working together with the visualization r8353 bousket 2010-09-10 17:32:26 +0200 (Ven, 10 sep 2010) 2 lines UPDATE: prepare co to instanciate all linear skinning mapping types.

STATUS DIFFÉRENCES hubertus:sofaeve quidt$ svn status? ui_sofaevevolumecurveeditor.h A + C scenes/miccai10/diffcolor.png > local edit, incoming lete upon update A + C scenes/miccai10/dataset_01_left_part.obj > local edit, incoming lete upon update M scenes/miccai10/trianglemeshing.scn A + C scenes/miccai10/boomdary2.obj > local edit, incoming lete upon update C scenes/miccai10/deformablebrainmatteraroundaneurysm.scn C + C scenes/miccai10/simuaneurysmdeformation.scn > local edit, incoming lete upon update M scenes/curved_stephane500.scn.qglviewer.view? scenes/implicit/patch-1.vtk? scenes/implicit/scurve.txt hubertus:implicit quidt$ svn diff -r 519 ImplicitSurfaceConstraint.inl Inx: ImplicitSurfaceConstraint.inl =================================================================== --- ImplicitSurfaceConstraint.inl! (revision 519) +++ ImplicitSurfaceConstraint.inl! (working copy) @@ -877,18 +885,28 @@ */ template<class DataTypes> -void ImplicitSurfaceConstraint<DataTypes>::getConstraintResolution (std::vector<core::componentmol::behavior::constraintresolution*>& restab, unsigned int& offset) +void ImplicitSurfaceConstraint<DataTypes>::getConstraintResolution(std::vector<core::behavior::ConstraintResolution*>& restab, unsigned int& offset) { - -#iff DEBUG_LAST_CONSTRAINT_ONLY + //std::cout << "Entering getconstraintresolution" << std::endl; const VecCoord& x!! = (*this->object2->getx()); unsigned int _nbnos = x.size(); +#iff DEBUG_LAST_CONSTRAINT_ONLY + + for(int i=_nbnos-1; i<_nbnos; i++){ #else A: ajout, C: conflit, D: Suppression, G: Fusion, M: Modification AUTRES COMMANDES Site officiel subversion: http://subversion.apache.org/ POUR CONCLURE Documentation: http://svnbook.red-bean.com/

FIN! Utilisation à encourager dès que le projet est conséquent (projet S8, PFE,...) et/ou qu il y a plusieurs développeurs Cours sur les principes et les commans. A vous mettre en oeuvre s bonnes pratiques (assurer la bonne compilation chacune s révisions, combiner s commit manière logique...) Des outils graphiques existent: plug-in Eclipse, TortoiseSVN, Versions, SvnX...