Offre de service "Formation pratique à CVS (Concurrent
Version System)"
Mise à jour:
Qu'est CVS ?
Un système de versionnement
La nécessité de versionner n'est plus à
démontrer. CVS assure la traçabilité (qui? quoi?
pourquoi? quand? ) de fichiers, de répertoires ou de modules.
Un outil de travail coopératif
CVS fonctionne en client-serveur via un protocole réseau, ou
via un répertoire de référence partagé
($CVSROOT). La grande force de CVS, par rapport à des
systèmes moins évolués, est de ne pas
nécessiter de verrouillage des fichiers en modification. Il
permet des modifications simultanées par 2 auteurs, et
gère la fusion de deux versions modifiées en
parallèle (d'où son nom "Concurrent").
Pourquoi CVS ?
- il y a un esprit CVS; le seul fait de passer à CVS
crée une communauté (même 2 personnes)
- CVS gère au mieux tous les problèmes "d'intendance"
(du genre: j'ai modifié hier le fichier dont tu as
édité une version d'avant-hier; que fait-on
aujourd'hui ? )
- CVS donne une prime à celui qui fait un cycle
checkout-édition-commit rapide
- CVS est utilisé par la quasi-totalité des projets
open-source; si ça marche pour des utilisateurs
répartis dans des multiples pays et institutions, ça
marche à plus forte raison à l'intérieur d'une
institution
- CVS est un standard très bien établi depuis de
nombreuses années, donc
- avec de multiples implémentations, ligne de commande
ou IHM, open source ou propriétaire (ClearCase), y
compris l'implémentation de référence en
ligne de commande,
- on peut importer ou exporter une base de versionnement CVS
vers un autre système
Déroulement de la formation
- un peu de théorie: répertoire de travail et CVSROOT
- travail sur un cas réel fourni par les stagiaires ou par
le formateur
- CVS en ligne de commande (Unix ou Cygwin / Windows)
- création du référentiel
- mises à jour concurrentes, locales ou récursives
- les "tags" et les "releases"
- accès à des bases CVS sur le Web
- consultations de la base: log, status, history, diff
- outils divers, reporting (ViewCVS, etc)
- mise en place d'un serveur CVS
- clients graphiques CVS, EDI
- la structure du référentiel
- les modules
- expérience de développeur - concepteur - analyste
très variée
- expérience des développements coopératifs
sur le Web (sourceForge.net); voir
ici un de mes
projets via ViewCVS sur sf.net
- expérience de 2 ans avec CVS chez un éditeur de
logiciels (effix.fr)
- utilisé CVS pour un développement d'éditeur
XML / Java chez EDF pendant 6 mois