Mercurial: créer une branche sans avoir à faire une modification en premier
J'ai entendu dire que la seule façon de créer une branche dans un dépôt Mercurial est d'apporter des modifications à la copie de travail, puis de les valider dans une nouvelle branche.
Dans Subversion, je peux créer une branche sans avoir à apporter de modifications (en copiant trunk
dans un chemin sous tags
) - est-il possible de le faire aussi dans Mercurial?
Je n'ai actuellement vu que TortoiseHg, il est donc possible que cela ne puisse être fait que via l'outil de ligne de commande et je ne le sais pas.
Mon flux de travail pour cela est:
- créer une branche d'entité.
- faites un peu de travail dans cette branche de fonctionnalité.
- crée une branche release candidate.
- fusionner les entités pour libérer la branche candidate.
- Déployer, tester, corriger déployer, tester, corriger la version release candidate de la branche.
- fusionne la branche candidate de libération sur le tronc.
Merci D'avance.
3 réponses
Cela dépend de ce que vous entendez par branche.
Une branche nommée peut être créée en lui donnant un nom, puis en validant, elle finira comme un nouveau jeu de modifications dans l'historique, mais vous n'avez pas besoin de modifier explicitement les fichiers du dossier de travail pour être autorisé à valider.
hg branch NEWNAME
hg commit -m "Created branch NEWNAME"
Vous pouvez également le faire en utilisant la boîte de dialogue TortoiseHg.
Cependant, si vous voulez créer une autre branche sans nom, ie. juste une autre tête, alors oui, vous devez changer quelque chose. Et vraiment, pourquoi vous voulez simplement créer un ensemble de modifications vide sans modifications? Juste pour signaler que "c'est là que je placerai ma branche quand j'aurai quelques changements"?
Vous voudrez peut-être consulter l'extension de signets (qui fera bientôt partie de Core Mercurial).
Si vous êtes familier avec le fonctionnement des branches dans git, c'est presque la même chose.
Et tout comme les branches dans git, vous pouvez créer un signet sans rien commettre.
$ hg bookmark my-feature
Après avoir créé la branche, n'oubliez pas de la pousser avec:
hg push --new-branch