Frage

Ich bin mit Mercurial Queues auf einem Repository, und habe diesen Patches in einer Patch-Repository gestellt. Ein weiterer Beitrag hat meine Patch-Warteschlange geklont und Änderungen ihrer eigenen. Ich möchte nun ihre Änderungen in meinem lokalen Patch-Repository fusionieren.

Ich versuche, für die Durchführung dieses merge einen guten Workflow zu finden, dass

  • spiegelt die Changeset des Beitrags in der Geschichte der Patch-Repository
  • ruft den Merge-Tool des Benutzers bei Konflikten

Am Anfang habe ich versucht, nur die Patches direkt zu verschmelzen. Das ist in Ordnung in sehr einfachen Fällen aber gut funktioniert nicht, wenn sich viele Dinge geändert haben, da die Patches auf die Zeilennummer Kontext abhängen, die wie etwas scheint nicht ich Sorge über Einstellung selbst haben sollte. Insgesamt habe ich einen 3-Wege-diff von Patches finden die Prüfung zu komplex sein.

Gibt es einen besseren Weg?

War es hilfreich?

Lösung

Es gibt keine gute Möglichkeit, dies zu handhaben. Was würde ich wahrscheinlich schafft zwei Klone am Ende tut, und qfinishing Ihr Patch in ein und contributers Patch in der anderen. Dass dieser Punkt werden Sie angewandt repos mit jeweils separaten Patch Nettoeffekt haben. Dann hg pull Sie eines dieses Klone in die anderen, und hg merge können Sie Ihre grafischen Tools verwenden, um die Ergebnisse des Patches zu verschmelzen - und die einzigen Unterschiede sollen die Unterschiede in Ihrem Patches sein. An diesem Punkt, im Idealfall, werden Sie in der Lage sein, den Verschmelzungs changeset qimport, aber man kann das nicht tun, so Sie müssen ‚hg diff -r Spitze-1 -r Spitze‘ ein neues diff zu erhalten, die die Differenz zwischen vor-alles-begann und nach dem Zusammenführen-die-zwei-Ergebnisse. Sie dann ‚qimport` dass diff und sich verpflichten, es zu einem Patch-Queue-Repo mit einem Zettel, wo es herkam.

Sehr suboptimal, aber das Beste kann ich kommen mit. Ich würde gerne eine bessere Lösung zu hören.

Andere Tipps

Ich habe Angst, dass es keine Möglichkeit, Patches merge automatisiert ist.

Allerdings ist ein „Trick“ Sie können Gebrauch neues Patches zu erstellen, anstatt Bearbeitung / Auffrischen vorhandenen Patches, wenn Sie sie ändern müssen. Wenn Sie alle auf dem richtigen Weg zustimmen, Dinge zu tun, dann den Patches hg qfold.

Auf diese Weise werden Sie nicht auf jeden anderen Zehen so viel zurücktritt, da erstellen Sie neue Patches.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top