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 parfois 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).