Ich arbeite an einem Projekt, bei dem ich ein Commit habe, das ein Feature mit großen Problemen einführte, die nicht sofort entdeckt wurden. Jetzt möchte ich diese Revision komplett entfernen, während ich die Arbeit nachbearbeite, aber es fällt mir schwer, meinen Kopf um diesen 3-Weg-Merge zu wickeln. Hier ist eine vereinfachte Grafik meines Projekts.Wie funktioniert die 3-Wege-Funktion in Mercurial/Meld?
o changeset: 134:7f81764aa03a | tag: tip | parent: 128:451d8a19edea | summary: Backed out changeset 451d8a19edea | | @ changeset: 133:5eefa40e2a29 | | summary: (Change I need to keep keep) | | *snip 3 commits* | o changeset: 129:5f6182a97d40 |/ summary: (Change I need to keep keep) | o changeset: 128:451d8a19edea | summary: (Change that introduced a major problem) | o changeset: 127:4f26dc55455d | summary: (summary doesn't matter for this question)
Wenn ich das richtig verstehe, sind r127 und r134 genau gleich. Wenn ich hg up -C -r 133
und dann hg merge
ausführen, erscheint Meld mit drei Formen einer meiner Dateien: lokal, Basis und andere. lokal scheint r133 zu sein, aber ich habe eine harte Zeit, meinen Kopf darum zu wickeln, was "Basis" und "andere" bedeuten.
Sie sagen also, dass viel manuelle Zusammenführung sein wird? – Pacerier