Frage

hg tags zeigt immer alle Tags, so wie kann ich nur die Tags bekommen, dass Punkt auf eine bestimmte Revision und alle seine Vorfahren?

Der reale Anwendungsfall ist, dass, wenn ich lokale Variablen Merkmale zu bezeichnen (oder Bug-Fixes) auf Changeset, und ich brauche die kumulativen Funktionen / Bugs, um herauszufinden, bis eine bestimmte rev.

Eine Lösung wäre ein Wrapper-Befehl werden, indem die „-r“ zu tags hinzufügt. Was ist dann der beste Weg, es zu implementieren? Verwenden revsets alle Vorfahren Umdrehungen zu erhalten und die Tags filtern?

War es hilfreich?

Lösung

Dies sollte den Trick (erfordert Mercurial 1.7):

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

wo <rev> ist die Hash-oder lokale Revisionsnummer. Allerdings scheint Overkill jeden Bugfix und Feature-Tagging.

Statt Tagging, können Sie nur eine Konvention folgen, wo Sie setzen „Bugfix: xyz“ oder „Feature: abc“ in der Commit-Nachrichten. Anschließend können Sie extrahieren alle Fehlerbehebungen und Features wie folgt aus:

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

Halten Sie Tags für wichtige Meilensteine ??oder andere Änderungen, die eine besondere Bedeutung haben.

Andere Tipps

Wenn ich Sie richtig verstehe, wollen Sie:

  • Geben Sie eine Revision
  • Filter das Protokoll nur, dass changeset + alle seine Vorfahren
  • Auszug
  • Alle Tags, die in diesen Differenzmengen sind

Sie können das tun, wenn Sie sich auf Tag-Namen begrenzen:

hg log -r "ancestors(HASH)" --template "{tags}"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top