- Checkout est un verrou exclusif sur la modification d'une branche d'objet dans un référentiel.
- Checkin est une version de verrouillage exclusif.
Il existe deux types de systèmes de contrôle de source en fonction de la plus petite unité de branchement.
1) Branchement par référentiel (CVS, SVN, GIT, Perforce, ... etc)
Dans les produits où vous branche l'ensemble du référentiel, la caisse sera généralement créer une ou des modifications à permettre à la branche locale (copie) de l'ensemble du référentiel. Dans ces produits, l' archivage est souvent inutilisé et fait partie de l' opération de validation , qui est à la fois l' extraction de la branche distante, l'application du correctif local et l' archivage de la branche distante en une seule opération. Vous ne consignez pas votre succursale locale car elle est définitivement récupérée. (Remarque: dans GIT, vous ne vous engagez pas sur une branche distante, vous y poussez votre commit local. Différence strictement syntaxique. )
2) Branchement par objet (ClearCase, AccuRev, Oracle ADE)
Dans les produits où vous branchez des objets individuels, comme des répertoires, des fichiers, etc. Le concept de retrait et d' archivage s'applique par objet par branche. Vous verrouillez l'objet pour le modifier avec checkout et le relâchez avec checkin . Dans ces produits, vous travaillez souvent sur une branche privée où les verrous n'empêchent personne de fonctionner et au moment de la fusion de votre branche locale dans une branche partagée, les objets sont également extraits sur la branche de partition (principale, principale, branche de fonctionnalité, etc. ) les conflits de fusion sont résolus et l'objet est archivé sur la branche partagée. Cela permet à plusieurs personnes de «valider» en même temps la branche partagée tant qu'elles ne modifient pas les mêmes objets.