Ich habe SourceGear DiffMerge als mein Standard-Merge-Merge-Tool konfiguriert, indem ich die folgenden Anweisungen verwende:
%Vor%Quelle: Ссылка
Wenn ich jedoch git mergetool
starte, bekomme ich den folgenden Fehler:
Was könnte die Ursache für dieses Problem sein?
Es ist möglich, dass es keine $BASE
-Datei gibt, wenn zum Beispiel die beiden zusammenzuführenden Dateien keinen gemeinsamen Vorgänger haben oder wenn Sie den Konflikt beim Anwenden oder Neubasieren eines Patches bekommen, anstatt Zweige zusammenzuführen. In diesem Fall wird die Variable $BASE
immer noch gesetzt, aber dort ist keine Datei.
In Ihrem Befehl mergetool müssen Sie überprüfen, ob $BASE
vorhanden ist, und eine Zusammenführung ohne einen gemeinsamen Vorgänger ausführen, falls dies nicht der Fall ist. Es sieht nicht so aus DiffMerge diesem Modus unterstützt (es unterstützt zwei Dateien ohne gemeinsame Vorfahren Zusammenführung, aber es schreibt immer die Ausgabe in einer der Dateien, keine Ergebnis-Datei). Stattdessen müssen Sie $LOCAL
als $BASE
-Datei übergeben, wenn $BASE
nicht existiert: