Ich möchte in der Lage sein, ein "Hg-Protokoll" jedes Changeset zwischen changeset1 und changeset2 im Diagramm angezeigt werden. Ich kann nicht einen Weg finden, es zu tun, ohne entweder a) Weglassen Knoten genannt Zweige, die zwischen changeset1 verschmolzen: changset2 oder b) einschließlich Knoten genannt Zweige, die NICHT Vorfahren changeset2 SINDmercurial-Protokoll von Changests auf zusammengeschlossenen benannten Verzweigungen, aber nicht zusammengeführt
Hier ist ein „hg glog“ eines einfachen Beispiels mit 2 benannten Verzweigungen plus dem Standardzweig. Eine benannte Zweig wird verschmolzen und so seine Knoten sind relevant, die andere ist irrelevant:
@ changeset: 5:e384fe418e9b
|\ tag: tip
| | parent: 2:7dc7af503071
| | parent: 3:0a9be59d576e
| | summary: merge somefeature branch into default
| |
| | o changeset: 4:4e8c9ca127c9
| | | branch: unmerged_feature
| | | parent: 1:ef98ad136fa8
| | | summary: change that is not merged into ending changeset
| | |
| o | changeset: 3:0a9be59d576e
| |/ branch: somefeature
| | parent: 1:ef98ad136fa8
| | summary: changed b.txt
| |
o | changeset: 2:7dc7af503071
| summary: changed a.txt
|
o changeset: 1:ef98ad136fa8
| summary: added b.txt
|
o changeset: 0:271b22b4ad30
summary: added a.txt
ich eine Log-Befehl wollen, die mir geben alle Knoten, die Nachkomme von rev sind 0 und Vorfahren von rev 5. Dies wird alles außer rev 4.
ich zu viele Informationen bekommen:
hg log -r 0:5 --template "{rev}:branch={branches},desc={desc}\n"
Das gibt mir einen Protokolleintrag für rev 4, die nicht ein Vorfahre von rev 5:
0:branch=,desc=added a.txt
1:branch=,desc=added b.txt
2:branch=,desc=changed a.txt
3:branch=somefeature,desc=changed b.txt
4:branch=unmerged_feature,desc=change that is not merged into ending changeset
5:branch=,desc=merge somefeature branch into default
Ich kann zu wenig Informationen erhalten:
hg log -b default -r 0:5 --template "{rev}:branch={branches},desc={desc}\n"
auslässt 3 rev, die ein Nachkomme von rev 0 und Vorfahre von rev
0:branch=,desc=added a.txt
1:branch=,desc=added b.txt
2:branch=,desc=changed a.txt
5:branch=,desc=merge somefeature branch into default
Danke. Das hatte ich vorher nicht gesehen. Was ich wirklich will, ist: hg log --rev 'Vorfahren (changeset2) und Nachkommen (changeset1)' –
Eigentlich sieht es so aus, als würde der doppelte Doppelpunkt tun, was ich will einfacher: hg log --rev 'changeset1 :: changeset2' –
Ja, Sie wollen die 'X :: Y'-Syntax - ich setze es für diesen Zweck ein :-) –