Ceci est une ancienne révision du document !
Table des matières
Versioning - Outillage
Rappel
La versioning est un méthode de gestion de version qui consiste à historiser les modifications faites dans le code source d'un projet par les développeurs qui y contribuent successivement.
En cas de besoin, il est alors possible de revenir en arrière, comparer des versions antérieures du code, corriger des anomalies, toutes actions de maintenance qui sont liées à un état historique précis (version).
Il existe deux produits largement employées pour le versioning :
- Git : technologie moderne, décentralisée, imaginée par Linus Torvalds (auteur de Linux)
- SVN : implémente la technologie SubVersion, ancienne, rustique et centralisée mais éprouvée
Git
Les principales opérations
Usages
Références
SVN
Les principales opérations SVN
- CHECKOUT : Importation sur un client d’un projet mis en partage sur un serveur SVN
- UPDATE : Synchronisation du projet, du serveur vers le client (download des mises à jour)
- COMMIT : Synchronisation du projet, du client vers le serveur (upload des mises à jour)
- DISCONNECT : Déconnexion du partage (avec ou sans suppression des fichiers SVN locaux)
Organisation SVN
Sur un serveur SVN, le projet, les Branches et les Tags sont stockés dans des dossiers spécifiques nommés res-pectivement « trunk », « branches », et « tags ». Ce n’est qu’une convention de nommage que vous êtes libres de respecter ou d’adapter, mais les bonnes pratiques vous conduiront naturellement à adopter ce nommage. L’intérêt des étiquettes sous Subversion est d’utiliser des noms symboliques plutôt que des numéros de révisions pour se référer à un état précis, comme par exemple ’release-1.1’, plutôt que ’488’. Un nom symbolique permet de revenir facilement à une version identifiée. Pour créer un tag, il suffit de copier l'état actuel d'une version de développement dans un sous-répertoire du dépôt. Les règles suivantes sont communément admises :
- Liste à puceLes différents tags correspondent chacun à un sous-répertoire, lui-même contenu dans un sous-répertoire nommé tags du projet ;
- On ne « commit » pas dans un tag ;
En fonction de l’ampleur et du nombre de projets contenus dans votre dépôt, l’emplacement de ces trois dos-siers peut varier. Il existe en fait deux formes recommandées en fonction de vos besoins :

Quelle que soit l’architecture choisie pour les dossiers de base, l’utilisateur crée tous les dossiers intermédiaires librement. Par exemple, la branche « germanVersion » pourra être stockée dans le dossier branches/germanVersion.
À consulter : http://www.lacl.fr/gava/cours/M2/IngLog/annexe3.pdf

