|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CVS - IntroductionIntroduction à CVSCVS (Concurrent Versions System) est un système de contrôle de versions client-serveur permettant à plusieurs personnes de travailler simultanément sur un même ensemble de fichiers. Les gros projets de développement (en particulier les projets Open Source) s'appuient généralement sur ce type de système afin de permettre à un grand nombre de développeurs de travailler sur un même projet. CVS permet, comme son nom l'indique, de gérer les accès concurrents, c'est-à-dire qu'il est capable de détecter les conflits de version lorsque deux personnes travaillent simultanément sur le même fichier. Le fonctionnement de CVS s'appuie sur une base centralisée appelée « repository », hébergée sur un serveur, contenant l'historique de l'ensemble des versions successives de chaque fichier. Le repository stocke les différences entre les versions successives, les dates de mise à jour, le nom de l'auteur de la mise à jour et un commentaire éventuel, ce qui permet un réel suivi des modifications, tout en optimisant l'espace de stockage dédié au projet. Chaque personne travaillant sur le projet possède un « répertoire de travail » (en anglais « working copy » ou « sandbox », traduisez « bac à sable »), c'est-à-dire un répertoire contenant une copie de la base CVS (repository). checkoutA l'aide d'un client CVS, chaque utilisateur souhaitant travailler sur le projet (pour modifier des 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 ». commitLorsque 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 repository et transmettre leurs modifications. updateS'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 va détecter 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 va demander à 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. releaseEnfin, lorsque l'utilisateur a terminé son travail et qu'il a envoyé au serveur CVS toutes les modifications apportées, il peut s'il le désire vider son répertoire de travail grâce à l'opération baptisée « release ». Serveur CVSLe serveur CVS est disponible, sous licence libre, pour un grand nombre de systèmes d'exploitation : Le code source ainsi que des versions binaires (exécutables) du serveur CVS sont téléchargeables sur http://www.cvshome.org. Clients CVSCVS est prévu à l'origine pour fonctionner en ligne de commande, avec les différentes commandes évoquées ci-dessus. Il existe toutefois un certain nombre de clients CVS graphiques :
Trucs & astuces pertinents trouvés dans la base de connaissances
Discussions pertinentes trouvées dans le forum
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||