V.
C. S.
Version Control System : système de contrôle des versions.
Besoin
Gérer les versions d'artefacts pour récupérer d'anciens
états (état stable sans erreurs par exemple) d'un logiciel en
cours de développement.
Analyse
Les VCS proposent des fonctionnalités de :
- historisation : mémorisation des modifications (versions)
réalisées sur des artefacts
- travail en équipe : obtention (check-out)
depuis et publication (check-in) d'artefacts vers un référentiel
(repository) de versions, selon différents modèles
:
- réservation/libération : verrouillage
et extraction d'un fichier, modification du fichier puis déverrouillage
après re-publication.
- copie/fusion : aucun verrouillage et résolution
des modification concurrentes par fusion automatique ou manuelle.
Conception
Les VCS utilisent souvent des verrous.
Notes
- On ne place généralement dans le référentiel
qu'une version "stable" (exécutable sans erreurs) de l'application.
- Certains VCS appliquant le principe de réservation/libération
permettent parfois de "voler" un verrou acquis par un autre.
Limitations
- Les VCS utilisant un modèle réservation/modification/libération
ne sont pas adapté pour la collaboration entre développeurs
indépendants éloignés (projets OSS
par exemple).
Exemples