Ich frage mich, ob es einen mercurial-Befehl/eine Erweiterung gibt, die nur testet, ob eine gegebene Änderungsmenge in einer Verzweigung ist. Der Befehl wäre so etwas wie:mercurial: Test, ob eine Verzweigung einen Changeset enthält
hg contains [-r branch] changeset_id
und soll überprüfen, ob die gegebene changeset im aktuellen/Verzweigung sie, Rückkehr nur „Ja“ oder „Nein“.
Ich weiß über den "debugancestor" Befehl, aber eine "Ja/Nein" Antwort ist viel einfacher zu lesen.
Und wenn ja, ist es möglich, auch nach transplantierten Changesets zu suchen?
EDIT: Das Szenario befindet sich in einem Repo, wo benannte Zweige mehrere Köpfe haben. Nehmen wir an, eine Verzweigung hat den Namen "dev-X" und hat mehr als einen Kopf und eine längere Historie, zu lang, um sie mit verschiedenen Grafikvisualisierungen zu verfolgen. Ich möchte herausfinden, ob ein Changeset X in Zweig "dev-X" in einen anderen Kopf von "dev-X" zusammengeführt wurde. Daher kann ich keine Verzweigungsnamen verwenden, sondern nur Änderungsnummern/Hashes, um eine Verzweigung festzulegen.
Und zu allem Überfluss versuche ich herauszufinden, ob changeset X dort transplantiert wurde, möglicherweise mehr als 1 Transplantationsschritt. Ich weiß, dass die notwendigen Informationen in mercurial gespeichert sind (ich habe es bei der Manipulation der mercurialen Interna gesehen), es ist einfach nicht über die Befehlszeilenschnittstelle zugänglich.
Nun, ich habe es geschossen und das ist, was herauskam: http://bitbucket.org/resi/hg-contains /. djc hatte recht, es war wirklich nicht zu schwer (zumindest funktioniert dieser Code mit meinen Repos). – resi