In meinem Repository habe ich Tags der Form version-1.2.3
. Ich möchte ein Revset-Alias new()
erstellen, das wie folgt aufgerufen wird:
... und erweitert sich zu diesem:
%Vor%Als ich das versuchte:
%Vor% ... Mercurial interpretierte es als Subtraktion der Revision (z. B.
1.2.3
) von der Revision version
, was nicht meine Absicht war.
Ich habe das auch mit dem ##
Verkettungsoperator versucht:
Aber dann gibt hg log -r 'new(1.2.3, 1.2.4)'
mir diesen Fehler:
Ich habe auch versucht, ancestors()
anstelle der ::
-Syntax zu verwenden, aber immer noch den Syntaxfehler. Ist das möglich?
Ich habe Folgendes getestet, das funktioniert:
%Vor% Als Referenz wird ::
Ihnen nicht das gleiche geben, es bedeutet die Revision zwischen und
Eine äquivalente Umdrehung, die ich bevorzugen würde, ist:
Laut dem Dokument entspricht es genau dem, was Sie wollen:
%Vor% Randnotiz : Nur ::
wird besser lesbar sein und Ihnen den gleichen Teil der DAG geben only()
liefert korrektes Ergebnis in allen Fällen , DAG kann gemäß der Diskussion in @ lc2817 Antwort fehlschlagen)
Ich war fast erfolgreich beim Erhalten der Antwort, aber habe einige Probleme (und kenne keine Möglichkeiten zum Debuggen) im letzten Schritt: alle in [revsetalias] aggregieren
Vorwort
Da Parameter Tags sind und das Tag () -Prädikat regexps im Parameter verwenden kann, verwende ich sie
Revset tag("re:version\-")
zeigt alle Tags, angefangen mit "version -"
Revset mit fest codierter Zahl als String show single changeset
%Vor%(hinter $ ist Pflicht, sonst sind es alle 1.7 * Tags)
Mein bester Versuch in Revsetalias war tag('re:version\-$1$')
- ohne Fehler und keine Ausgabe: Ich kann nicht vollständig erweitert Befehl erhalten, um alle Verarbeitungen und Ersetzungen zu sehen und meine Fehler mit parametrisierten Revsetalias zu erkennen
HTH
Tags und Links mercurial mercurial-revsets