Dans mercurial, comment voir des tags pour seulement un ensemble de révisions au lieu de tous?

StackOverflow https://stackoverflow.com/questions/4521648

  •  12-10-2019
  •  | 
  •  

Question

hg tags montre toujours tous les tags, alors comment puis-je obtenir que les balises qui pointent vers une révision spécifique et tous ses ancêtres?

L'utilisation dans le monde réel cas est que si j'utiliser des balises locales pour désigner les caractéristiques (ou des corrections de bugs) sur changesets, et je dois connaître les caractéristiques cumulatives / bugs jusqu'à un tour spécifique.

Une solution serait d'ajouter une commande d'emballage qui ajoute « -r » à tags. Alors quelle est la meilleure façon de le mettre en œuvre? Utilisez revsets pour obtenir tous les régimes ancestraux et filtrer les balises?

Était-ce utile?

La solution

Cela devrait faire l'affaire (nécessite 1,7 Mercurial):

hg log -r "ancestors(<rev>) and tag()"

<rev> est le hachage ou le numéro de révision locale. Cependant, le marquage et tous les bugfix fonction semble overkill.

Au lieu de marquage, vous pouvez simplement suivre une convention où vous mettez « CORRECTIF: xyz » ou « fonction: abc » dans vos messages de validation. Vous pouvez ensuite extraire toutes les corrections de bugs et fonctionnalités comme ceci:

hg log -r "ancestors(<rev>) and (keyword(bugfix) or keyword(feature))"

Gardez les balises pour les étapes importantes ou d'autres modifications qui ont une signification particulière.

Autres conseils

Si je vous comprends bien, vous voulez:

  • Spécifiez une révision
  • Filtre le journal à seulement changeset + tous ses ancêtres
  • Extraire tous les tags dans les changesets

Vous pouvez le faire si vous pouvez vous limiter aux noms de tag:

hg log -r "ancestors(HASH)" --template "{tags}"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top