Système permettant de gérer les modifications d’un ensemble de données.
Il agit sur une arborescence de fichiers afin de conserver toutes les versions des fichiers, ainsi que les différences entre les fichiers.
Un groupe de développeurs autour d'un même développement se servira de l'outil pour stocker toute évolution du code source.
1. Outils de Gestion de Version
Elaborés par :
Ali Ben Messaoud
Fares Jemni
2. Plan
■ Introduction
■ C’est quoi un SGV et comment il fonctionne ?
■ Concepts d’un système de gestion de version
■ Les notions de base communes à tous les
SGV
■ Mode de fonctionnement
■ Les different logiciels de gestion de version
■ Conclusion
3. Introduction (1)
■ Evolution rapide des technologies liées à
l'informatique.
■ Développement rapide des méthodes de
travail dans l'ingénieurie des logiciels et les
applications pour entreprise.
■ Besoin d'un système qui conserve la source
et aide à la collaboration.
4. Introduction (2)
■ Qu’est un système de gestion de version.
■ Comment il fonctionne?
■ Et quels sont les différents types?
5. C’est quoi un SGV et comment il
fonctionne ? (1)
■ Système permettant de gérer les modifications
d’un ensemble de données.
■ Il agit sur une arborescence de fichiers afin de
conserver toutes les versions des fichiers, ainsi
que les différences entre les fichiers.
■ Un groupe de développeurs autour d'un même
développement se servira de l'outil pour stocker
toute évolution du code source.
6. C’est quoi un SGV et comment il
fonctionne ? (2)
■ Le système gère les mises à jour des sources qui
conserve une trace de chaque changement.
■ Accompagnés d'un commentaire.
■ Le système travaille par fusion de copies locale et
distante.
■ Pas écrasement.
■ Nouvelle version d'un fichier est appelée révision et
son numéro de version est incrémentée de 1 par
rapport à la précédente.
7. Concepts d’un système de gestion de
version (1)
■ Version ou révision :
Les logiciels évoluant, chaque étape
d'avancement est appelée version (ou
revision).
■ Dépôt :
Les fichiers versionnés sont mis à
dispositions sur un dépôt, c'est-à-dire un
espace de stockage public géré par le
logiciel de gestion de versions.
8. Concepts d’un système de gestion de
version (2)
■ Un module :
Ensemble de fichiers sources ou de répertoires
constituant un projet.
■ Les branches:
Les branches peuvent être utilisées pour créer des
lignes de développement de plusieurs versions d'un
même produit, comme d'avoir un endroit pour
rétroporter corrections de bugs dans une version
stable. Le fait de vouloir rassembler deux branches
est une fusion de branches.
9. Concepts d’un système de gestion de
version (3)
■ Les tags :
Marques symboliques sur une révision et
de définir les versions du projet ainsi que
pour nommer des branches.
10. Les notions de base communes à tous
les SGV
'check out' est l'opération de chargement, copie de fichier(s)
depuis le dépôt dans l'espace de travail.
ajout - 'add' ajoute le(s) fichier(s) dans le mécanisme de gestion
de version
'check in' ou 'commit' envoie le(s) fichier(s) - si modifié(s) -
dans le dépôt;
Un message de 'commit' est un message décrivant la
modification enregistrée dans le dépôt
historique - 'log' ou 'Changelog' - donne à la liste des
modifications
'update' ou 'synch' synchronise les fichiers locaux avec les
autres développeurs ou le dépôt de référence
'revert' permet de revenir sur les dernières modifications locales
11. Mode de fonctionnement
Il existe modes :
■ Local Version Control Systems
■ Distributed Version Control Systems
■ Distributed Version Control Systems
12. Local Version Control Systems
■ Simple
■ Un seul utilisateur à la fois,
une seule copie de travail
■ Les systèmes locaux de VCS
souffrent du problème de
disponibilité le fait qu’on peut
perdre toute l'histoire du projet
en un seul endroit si la base
de données est
endommagée.
13. Distributed Version Control Systems
■ Dépot stocké dans un endroit
partagé
○ par le système de fichiers
○ par le réseau
■ Plusieurs copies de travail en
parallèle : opérations de fusion
■ A la perte du disque dur ou la
base de données centrale, les
sauvegardes ne seront pas
pris en compte.
14. Distributed Version Control Systems
■ Plus de dépot centralisé
■ Chaque développeur a sa copie
avec ses branches privées
■ Opérations de synchronisation
avec les autres dépots.
■ Simplification de la fusion de
branches en gardant l’historique
des fusions.
■ Plus de Liberté, mais risque de
dispersion...
15. Les different logiciels de gestion de
version
■ TortoiseSVN
■ SmartSVN
■ EasySVN
■ VisualSVN
■ Blsvn
■ KDESVN