Nous avons maintenant une branche « stiging », où « d’arrêt » semble être un bien meilleur ajustement sémantique. Ce qui est une bonne stratégie pour gérer cela ?
Réponses
Trop de publicités?Pour les futurs lecteurs: Avec l' rebase
extension, vous pouvez créer une nouvelle branche avec le même parent que stiging
et déplacer la totalité de l'histoire de la branche, comme ceci:
hg update -r "parents(min(branch('stiging')))"
hg branch staging
hg commit
hg rebase --source "min(branch('stiging'))" --dest staging
Cela suppose qu' stiging
n'a qu'un seul parent. Bien sûr, vous pouvez simplement utiliser des numéros de révision à la place.
Note 1: Si la branche stiging
comprend fusionne avec d'autres branches, je pense que ce sera de préserver, tant qu' staging
et stiging
ont le même parent. Mais je serais certainement vérifier.
Note 2: Puisque cela modifie l'histoire, la vieille branche ne pas tout simplement disparaître de clonés référentiels (voir l' rebase
documentation). À moins que tout le monde peut clone de nouveau, il ne peut pas être une solution très pratique pour un grand groupe.
Nota3/Modifier (avec l'aimable autorisation de @JasonRCoombs): Maintenant que les phases sont la norme dans mercurial, rebase
refusent de modifier les ensembles de modifications qui ont déjà été poussé. Soit le tromper en changeant la phase retour du projet (avec hg phases
), ou de laisser l'ancien branche de rester là où il est, et il suffit de faire une bien nommé copie (par exemple, avec hg rebase --keep").
Si vous avez des changesets dessus, alors vous devrez utiliser l' extension convert avec une branche pour le renommer. Tout le monde devra ensuite cloner le nouveau dépôt ou enlever l'ancienne succursale.