Télécharger la présentation
Publié parÉloi Pasquet Modifié depuis plus de 10 années
1
Subversion un logiciel libre de gestion de configuration
Alain April Log330
2
Le problème à éviter
3
Solution 1, Verrouiller
4
Solution 2, Intégrer (1 de 2)
5
Solution 2, Intégrer (2 de 2) si les changements sont exclusifs
6
Solution 2, Intégrer (2 de 2) si les changements sont inclusifs
Conflit, quand Harry demande l’intégration du document avec le sien, le système lui fait part du conflit (surlignés) et il devra choisir quels énoncés devraient être conservés; Chez Cable & Wireless cette activité était nommée ‘retrofit’ et était planifiée dans les plans de projets !
7
Trois rôles dans votre TP
SysAdmin: personne technique pour installer et supporter les aspects techniques; Responsable de la gestion de configuration dans le projet: identifier les artefacts, donner des accès, enseigner aux autres comment ça fonctionne, produire les baselines (référentiel), et les rapports. Membres du projet: utiliser l’outil Subversion pendant le projet.
8
La documentation Vous devez lire le livre du logiciel Subversion situé au: SysAdmin = comment installer, configurer; Responsable GC = Comment créer les répertoires, les baselines donner des accès et faire les rapports; Utilisateurs = Trouver un item, Check-out et Check-in.
9
Caractéristiques de Subversion vs. CVS
Versions de répertoire en plus de versions de fichiers, Historique de versions plus flexible. Plus que des versions de fichiers, Mises à jour atomique (i.e. ‘tout ou rien’), Métadonnées par item, Permet de choisir son protocole (Apache, ssh..), Tagging (étiquette) efficace et rapide. Directory versioning CVS only tracks the history of individual files, but Subversion implements a “virtual” versioned filesystem that tracks changes to whole directory trees over time. Files and directories are versioned. True version history Since CVS is limited to file versioning, operations such as copies and renames—which might happen to files, but which are really changes to the contents of some containing directory—aren't supported in CVS. Additionally, in CVS you cannot replace a versioned file with some new thing of the same name without the new item inheriting the history of the old—perhaps completely unrelated—file. With Subversion, you can add, delete, copy, and rename both files and directories. And every newly added file begins with a fresh, clean history all its own. Atomic commits A collection of modifications either goes into the repository completely, or not at all. This allows developers to construct and commit changes as logical chunks, and prevents problems that can occur when only a portion of a set of changes is successfully sent to the repository. Versioned metadata Each file and directory has a set of properties—keys and their values—associated with it. You can create and store any arbitrary key/value pairs you wish. Properties are versioned over time, just like file contents. Choice of network layers Subversion has an abstracted notion of repository access, making it easy for people to implement new network mechanisms. Subversion can plug into the Apache HTTP Server as an extension module. This gives Subversion a big advantage in stability and interoperability, and instant access to existing features provided by that server—authentication, authorization, wire compression, and so on. A more lightweight, standalone Subversion server process is also available. This server speaks a custom protocol which can be easily tunneled over SSH. Consistent data handling Subversion expresses file differences using a binary differencing algorithm, which works identically on both text (human-readable) and binary (human-unreadable) files. Both types of files are stored equally compressed in the repository, and differences are transmitted in both directions across the network. Efficient branching and tagging The cost of branching and tagging need not be proportional to the project size. Subversion creates branches and tags by simply copying the project, using a mechanism similar to a hard-link. Thus these operations take only a very small, constant amount of time.
10
Architecture Subversion
11
Composants de Subversion une fois l’outil installé
Svn : Client en mode ligne Svnversion : Rapports d’états Svnlook : Outil d’investigation de répertoire Svnadmin : Outil d’administration du répertoire Svndumpfilter : Filtre de la décharge Mod_dav_svn : Plug-in Apache http Svnserve : Processus Serveur (ssh ou daomon) svn The command-line client program. svnversion A program for reporting the state (in terms of revisions of the items present) of a working copy. svnlook A tool for inspecting a Subversion repository. svnadmin A tool for creating, tweaking or repairing a Subversion repository. svndumpfilter A program for filtering Subversion repository dump streams. mod_dav_svn A plug-in module for the Apache HTTP Server, used to make your repository available to others over a network. svnserve A custom standalone server program, runnable as a daemon process or invokable by SSH; another way to make your repository available to others over a network.
12
Installez et configurez
Faites votre plan GC: Choisissez les produits de sortie (Specs., Cédule, Plan Qualité, tests, données) Choisir une nomenclature des items pour le projet Le code source Installer, configurer et tester Subversion et ses composantes (httpd Apache, Python,..), Former les utilisateurs et donner les accès, Ajouter un projet et importer les documents. svn The command-line client program. svnversion A program for reporting the state (in terms of revisions of the items present) of a working copy. svnlook A tool for inspecting a Subversion repository. svnadmin A tool for creating, tweaking or repairing a Subversion repository. svndumpfilter A program for filtering Subversion repository dump streams. mod_dav_svn A plug-in module for the Apache HTTP Server, used to make your repository available to others over a network. svnserve A custom standalone server program, runnable as a daemon process or invokable by SSH; another way to make your repository available to others over a network.
13
Utilisez le pendant votre projet Version 0 à n
14
Votre TP cette semaine (vous avez 5 jours)
Attribuez les trois rôles de GC, Faites votre plan de GC, Installer, configurer et tester Subversion et ses composantes (httpd Apache, Python,..), Former les utilisateurs et donner les accès, Ajouter un projet et importer les documents, Donner un rapport au chargé de labo. svn The command-line client program. svnversion A program for reporting the state (in terms of revisions of the items present) of a working copy. svnlook A tool for inspecting a Subversion repository. svnadmin A tool for creating, tweaking or repairing a Subversion repository. svndumpfilter A program for filtering Subversion repository dump streams. mod_dav_svn A plug-in module for the Apache HTTP Server, used to make your repository available to others over a network. svnserve A custom standalone server program, runnable as a daemon process or invokable by SSH; another way to make your repository available to others over a network.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.