2010-08-03 18 views
3

J'ai découvert aujourd'hui que je peux revenir à une branche même après l'avoir fermée. Pourquoi?Pourquoi je peux passer à une branche après l'avoir fermée?

hg init abc 
cd abc 
echo 'readme1' > README1.txt 
hg ci -Am "1st commit" 
hg branch other-branch 
echo 'readme2' > README2.txt 
hg ci -Am "2nd commit" 
hg update default 
hg merge other-branch 
hg ci -m "Merged other-branch into default" 
hg update other-branch 
hg ci -m "Closing other branch" --close-branch 
hg update default 

maintenant je pense que je ne suis pas censé le faire

hg update other-branch 

mais il fonctionne ok

Il me trouble et me fait me sentir mal à l'aise un peu.

MISE À JOUR: désolé oublié d'indiquer que j'utilise HG v.1.6

Répondre

2

Comme Ambre a dit, lorsque vous fermez une branche, elle enregistre simplement qu'elle est fermée. En conséquence, lorsque vous faites "hg branches", vous verrez simplement "default", et non "other-branch".

Cependant, dès que vous passez à cette branche et que vous validez quelque chose de nouveau, elle le rouvre automatiquement (et apparaît donc de nouveau dans la liste "hg branches"). Vous pouvez également le refermer lorsque vous avez terminé.

Je trouve cette fonctionnalité réellement souhaitable: Imaginons que vous ayez créé une branche "stable" afin de stabiliser du code pour une livraison, en n'autorisant que des corrections de bogues sur cette branche. Maintenant, après la livraison, vous pouvez fermer la branche stable et développer de nouvelles fonctionnalités par défaut, passer à l'itération suivante et préparer la prochaine livraison (en supposant que vous utilisiez scrum par exemple). Maintenant, quand trois jours après, votre client de livraison trouve un problème et demande de recevoir une livraison fixe, ne voulant pas attendre le prochain, alors vous pouvez facilement passer à la branche stable, reproduire le problème, le réparer (rouvrir la branche) , redéployer et enfin refermer la branche. Cela me semble être un scénario plausible et un bon comportement Mercurial.

Just my 0,02 € :-)

Cheers,
Christophe.

= Les illettrés du 21ème siècle ne seront pas ceux qui ne savent ni lire ni écrire; ils seront ceux qui ne peuvent apprendre, désapprendre et réapprendre. --Alvin Toffler =