SVN - Cycle de vie
Le cycle de vie d'un système de contrôle de version est traité dans ce chapitre. Dans les chapitres suivants, nous verrons la commande Subversion pour chaque opération.
Créer un référentiel:
Le référentiel est un endroit central où les développeurs stockent tout leur travail. Le référentiel stocke non seulement les fichiers, mais également l'historique des modifications. Ce qui signifie qu'il conserve un historique des modifications apportées aux fichiers.
L'opération 'create' est utilisée pour créer un nouveau référentiel. La plupart du temps, cette opération n'est effectuée qu'une seule fois. Lorsque vous créez un nouveau référentiel, votre VCS s'attendra à ce que vous disiez quelque chose pour l'identifier, par exemple où vous voulez qu'il soit créé, ou quel nom doit être donné au référentiel.
Check-out
L'opération 'Checkout' est utilisée pour créer une copie de travail à partir du référentiel. La copie de travail est un lieu de travail privé où les développeurs apportent leurs modifications, puis soumettent ces modifications au référentiel.
Mettre à jour
Comme son nom l'indique, l'opération de «mise à jour» est utilisée pour mettre à jour la copie de travail. Cette opération synchronise la copie de travail avec le référentiel. Comme le référentiel est partagé par toutes les équipes, les autres développeurs peuvent valider leurs modifications et votre copie de travail vieillit.
Supposons que Tom et Jerry soient les deux développeurs travaillant sur un projet. Les deux récupèrent la dernière version du référentiel et commencent à travailler. À ce stade, leurs copies de travail sont complètement synchronisées avec le référentiel. Jerry termine son travail de manière très efficace et valide ses modifications dans le référentiel.
Maintenant , Tom la copie de travail est obsolète. L'opération de mise à jour extraira les dernières modifications de Jerry du référentiel et mettra à jour la copie de travail de Tom .
Effectuer des changements
Après la vérification, on peut effectuer diverses opérations pour effectuer des modifications. L'édition est l'opération la plus courante. On peut modifier le fichier existant pour ajouter / supprimer le contenu du fichier.
On peut ajouter des fichiers / répertoires. Mais immédiatement, ces fichiers / répertoires ne font pas partie du référentiel, à la place ils sont ajoutés à la liste de modifications en attente et deviennent une partie du référentiel après l'opération de validation.
De même, on peut supprimer des fichiers / répertoires. L'opération de suppression supprime immédiatement le fichier de la copie de travail, mais la suppression réelle du fichier est ajoutée à la liste de modifications en attente et des modifications sont apportées au référentiel après l'opération de validation.
L'opération 'Renommer' change le nom du fichier / répertoire. L'opération «Déplacer» est utilisée pour déplacer des fichiers / répertoires d'un endroit à un autre dans une arborescence de référentiels.
Examiner les modifications
Lorsque vous extrayez la copie de travail ou mettez à jour la copie de travail, votre copie de travail est complètement synchronisée avec le référentiel. Mais lorsque vous modifiez votre copie de travail, elle devient plus récente que le référentiel. Et c'est une bonne pratique de revoir vos modifications avant l'opération de «validation».
L'opération «Statut» répertorie les modifications qui ont été apportées à la copie de travail. Comme nous l'avons mentionné précédemment, chaque fois que vous effectuez des modifications dans la copie de travail, toutes ces modifications font partie de la liste de modifications en attente. Et l'opération 'status' est utilisée pour voir la liste des modifications en attente.
L'opération «Statut» ne fournit qu'une liste des modifications mais pas les détails à leur sujet. On peut utiliser l' opération diff pour afficher les détails des modifications qui ont été apportées à la copie de travail.
Corriger les erreurs
Supposons que l'on ait apporté des modifications à sa copie de travail, mais maintenant, il veut rejeter ces modifications. Dans cette situation, l'opération «Revert» aidera.
L'opération Revert rétablit les modifications qui ont été apportées à la copie de travail. Il est possible de restaurer un ou plusieurs fichiers / répertoires. Il est également possible de restaurer l'intégralité de la copie de travail. Dans ce cas, l'opération 'revert' détruira la liste de modifications en attente et ramènera la copie de travail à son état d'origine.
Résoudre des conflits:
Des conflits peuvent survenir au moment de la fusion. L'opération de «fusion» gère automatiquement tout ce qui peut être fait en toute sécurité. Tout le reste est considéré comme un conflit. Par exemple, le fichier "hello.c" a été modifié dans la branche et supprimé dans une autre branche. Une telle situation oblige une personne à prendre la décision. L'opération «résoudre» est utilisée pour aider l'utilisateur à comprendre les choses et pour informer le VCS des moyens de gérer les conflits.
Valider les modifications
L'opération «Valider» est utilisée pour appliquer les modifications de la copie de travail au référentiel. Cette opération modifie le référentiel et les autres développeurs peuvent voir ces modifications en mettant à jour leur copie de travail.
Avant de commettre, il faut ajouter des fichiers / répertoires à la liste de modifications en attente. C'est ici que les modifications attendent d'être validées. Avec commit, nous fournissons généralement un message de journal pour expliquer pourquoi quelqu'un a apporté des modifications. Ce message de journal fait partie de l'historique du référentiel. La validation est une opération atomique, ce qui signifie que la validation entière réussit ou qu'elle est annulée. Les utilisateurs ne voient jamais le commit à moitié terminé.