2009-06-04 21 views
1

Lorsque vous isolez du code pour une version, y a-t-il des avantages à utiliser des "labels" plutôt que des "branches"?Avec Vault, doit-on préférer les étiquettes ou les branches lors de l'isolation des bases de code de version?

Le processus que nous suivons est de se rapprocher de la version et de stabiliser la version sur la branche. Une fois la version approuvée par SQA, nous fusionnons les modifications à la ligne principale.

D'autres groupes de développeurs utilisent des labels pour «isoler» la base de code utilisée pour une version. Je n'aime pas cela pour les raisons suivantes (qui peuvent être fausses):

  • Le coffre-fort ne supporte pas la fusion d'étiquettes à d'autres étiquettes. Le support de fusion entre les branches est excellent
  • Impossible de supprimer les autorisations sur les éléments étiquetés pour arrêter la modification. vous pouvez restreindre l'accès aux branches.

Pensées appréciées.

Répondre

4

Ceci est juste mon point de vue ci-dessous. Je pense qu'il y a plusieurs façons de le faire, mais je pense que vous avez raison de dire que les succursales valent mieux que les étiquettes pour ce genre de choses.

Voilà comment j'y pense:

Le code sous le tronc est le code qui va à la production. S'il y a un code qui ne sera pas utilisé dans la prochaine version, ce code devrait être déplacé vers une branche.

Les branches sont ensuite utilisées pour suivre les développements futurs. Donc, demain, créez une branche (branche A), à partir du tronc, et commencez à ajouter la caractéristique A. Une fois que SQA approuve la branche A, fusionnez-la de nouveau sur le tronc et faites passer le tronc en production. Notez que, dans ce cas, Patch X peut être ajouté au tronc. Vous pourriez avoir besoin d'une simple modification de ligne et d'un test de régression et de test rapide par SQA pour tester le correctif X. Mais comme la fonctionnalité A était développée sur une branche, elle ne retardait pas la publication du correctif X.

Lorsque vous relâchez Trunk en production, placez une étiquette sur l'ensemble du tronc qui marque la sortie d'une certaine version. Le point avec l'étiquette est de pouvoir, à une date ultérieure, récupérer le code exact qui a été libéré à un certain point.

+0

Merci slolife. Votre réponse confirme mon parti pris envers les succursales pour isoler le code des mises à jour, donc cela doit être correct! –