1.2.6- Choix du logiCiel de gestionnaire de version
Pour travailler en équipe en parallèle,
nécessité d'un << référentiel commun >>
et d'outils pour éviter/gérer les modifications concurrentes.
Parmi les outils de gestion de version, nous pouvons citer : CVS, WebDAV,
DeltaV et Subversion. L'efficacité de subversion de pouvoir gerer les
modifications concurrentes sur des fichiers a influée sur notre
choix.
[4] Le projet Subversion a été
lancé par une équipe de développeurs experts de CVS.
Conscients des limites de CVS, ils ont décidé de créer un
système performant et moderne. Leur but n'était pas de
révolutionner le monde du contrôle de versions mais de corriger
les limites de CVS. En général Subversion est un système
de contrôle de révision, développé dans le but de
remplacer CVS comme norme du contrôle de révision dans le monde du
libre. La version 1.0 est sortie au terme de 5 ans de conception et
développement sponsorisé par CVS est un système
client/serveur qui permet aux développeurs de conserver leurs projets
sur un serveur central appelé dépôt. En utilisant les
clients CVS et les outils associés, les développeurs peuvent
faire des modifications du contenu sur le serveur. En fait, le
dépôt CVS conserve chaque changement fait sur chaque fichier,
créant ainsi un historique complet de toute l'évolution du
développement du projet. Les développeurs peuvent demander des
versions antérieures d'un fichier particulier, regarder un historique
des modifications et réaliser au besoin plusieurs autres actions
utiles.
Les opérations que nous avons le plus utilisé
sont:
- Checkout: à l'aide d'un client CVS,
chaque utilisateur souhaitant travailler sur le projet (pour modifier fichiers
ou simplement pour voir la dernière version des fichiers dans la base)
récupère une copie de travail grâce à une
opération appelée << checkout >>.
- Commit: lorsque l'utilisateur a
terminé de modifier les fichiers, il peut transmettre les modifications
à la base. Cette opération est appelée << commit
>>. Ainsi plusieurs développeurs peuvent travailler
simultanément sur une copie du dépôt et transmettre leurs
modifications.
- Update: S'il arrive qu'un utilisateur tente
de transmettre ses modifications alors qu'un autre utilisateur a lui-même
modifié ce fichier précédemment, CVS détecte un
conflit. Si les modifications portent sur des parties différentes du
fichier, le système CVS peut proposer une fusion des modifications,
grâce à une opération appelée diff, sinon CVS
- demande à l'utilisateur de fusionner manuellement les
modifications. Il est à noter que les fusions ne peuvent s'appliquer
qu'aux fichiers textes. CVS peut toutefois gérer des fichiers binaires
dans sa base, mais il n'a pas été prévu dans ce but. Les
modifications apportées par les autres utilisateurs ne sont pas
automatiquement répercutées par CVS sur la copie locale, il est
donc nécessaire, avant chaque modification de fichier, de mettre
à jour sa copie de travail grâce à une opération
appelée « update », afin de limiter les risques de
conflits.
|