Pré. | Proc. |
Aperçu Contrôle de Version Locking
Enterprise Architect implémente Contrôle de Version de votre modèle en exportant les données Paquetage de la base de données du projet vers des fichiers Paquetage XMI, qui sont placés sous Contrôle de Version dans l'application de contrôle du code source. Le format de fichier XMI ne peut pas être fusionné de la même manière que les fichiers texte ordinaires, c'est pourquoi Enterprise Architect doit appliquer l'édition sérialisée des Paquetages sous contrôle de version, comme indiqué ici.
La solution Verrouillage-Modification-Déverrouillage
De nombreux systèmes Contrôle de Version utilisent un modèle de verrouillage-modification-déverrouillage pour résoudre le problème des différents auteurs d'une source partagée qui écrasent le travail des autres. Dans ce modèle, le référentiel Contrôle de Version n'autorise qu'une seule personne à modifier un fichier à la fois, et l'accès est géré à l'aide de verrous.
Harry doit verrouiller un fichier avant de pouvoir commencer à y apporter des modifications. Si Harry a verrouillé un fichier, Sally ne peut pas le verrouiller également et ne peut donc pas y apporter de modifications. Tout ce qu'elle peut faire, c'est lire le fichier et attendre que Harry termine ses modifications et libère le verrou. Une fois que Harry a déverrouillé le fichier, Sally peut à son tour verrouiller et modifier le fichier.
La solution Copier-Modifier-Fusionner
Subversion, CVS et un certain nombre d'autres systèmes Contrôle de Version utilisent un modèle de copie-modification-fusion comme alternative au verrouillage. Dans ce modèle, le client de chaque utilisateur contacte le référentiel du projet et crée une copie de travail personnelle - une réflexion locale des fichiers et répertoires du référentiel. Les utilisateurs travaillent ensuite simultanément et indépendamment, en modifiant leurs copies privées. En temps voulu, les copies privées sont fusionnées pour former une nouvelle version finale. Le système de Contrôle de Version aide souvent à la fusion, mais en fin de compte, une personne est responsable de la bonne exécution de cette opération.
Quand le verrouillage est nécessaire
Bien que le modèle de verrouillage-modification-déverrouillage soit généralement considéré comme un obstacle à la collaboration, il existe encore des moments où le verrouillage est nécessaire.
Le modèle copier-modifier-fusionner est basé sur l'hypothèse que les fichiers sont contextuellement fusionnables : c'est-à-dire que les fichiers du référentiel sont des fichiers texte basés sur des lignes (comme le code source d'un programme). Cependant, pour les fichiers au format binaire, comme les illustrations ou les sons, il est souvent impossible de fusionner les modifications conflictuelles. Dans ces situations, il est vraiment nécessaire que les utilisateurs se relaient strictement pour modifier le fichier. Sans accès sérialisé, certains utilisateurs finissent par perdre du temps sur des modifications qui sont finalement écrasées.