2016-08-18 1 views
0

Hier ist meine Einstellungsdatei:Wie setze ich TortoiseHG auf Mac, um mit zwei Elternteilen zu kommunizieren?

[extensions] 
hgext.extdiff = 

[extdiff] 
cmd.kdiff3 = /Applications/kdiff3.app/Contents/MacOS/kdiff3 

[tortoisehg] 
vdiff = kdiff3 

[ui] 
merge = kdiff3 

[merge-tools] 
kdiff3.executable = /Applications/kdiff3.app/Contents/MacOS/kdiff3 
kdiff3.args = $base $local $other -o $output 
kdiff3.priority = 1 

On-Dateien zusammenführen, wenn ich Cmd + D drücke, ist es zeigt nur 2-Wege-diff mit den lokal Eltern, auch wenn die List Options-Changed by This Commit gesetzt. In Windows, wenn ich Ctrl + D drücke, zeigt es 3-Wege-Diff mit 2 Eltern, auch wenn ich nichts an den Einstellungen ändere.

Wie kann ich TortoiseHG auf dem Mac einstellen, um 3-Weg-Diff auf Zusammenführungsdateien zu zeigen, wenn ich Cmd + D drücke? Ich verwende TortoiseHG 3.9.0

Antwort

1

Einige readthedocs quotes

In TortoiseHg 1.0, die visuelle (extern) diff Infrastruktur war Refactoring. Das neue System verwendet Werkzeugbeschreibungen in mergetools.rc zu erkennen die häufigsten Diff-Tools auf Ihrem Computer (einschließlich KDiff3, , die in unserem Installer ausgeliefert) und wählen Sie das beste verfügbare Werkzeug.

Seit 1.0, Alter !!! ExtDiff ist nicht zwingend für jede merge | Diff-Tool (auch kundenspezifische, während kdiff3 mit THG ausgeliefert wird)

Das visuelle System diff wird verwenden alle vorhandenen extdiff Konfiguration es findet. Da extdiff nicht drei-Wege-diff Argumente unterstützt hat bis vor kurzem und noch nicht Etikett Argumente unterstützt, werden Sie wahrscheinlich eine bessere Erfahrung durch das Deaktivieren oder Löschen von beliebigen extdiff Konfiguration Sie haben können.

verstümmelt nicht von Hand Standard KDiff3 config (von hgrc.d\MergeTools.rc in Windows) tun alle Aufgaben richtig

kdiff3.args=--auto --L1 base --L2 parent1 --L3 parent2 $base $local $other -o $output 
kdiff3.regkey=Software\KDiff3 
kdiff3.regkeyalt=Software\Wow6432Node\KDiff3 
kdiff3.regappend=\kdiff3.exe 
kdiff3.fixeol=False 
kdiff3.premerge=False 
kdiff3.gui=True 
kdiff3.priority=-3 
kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child 
kdiff3.diff3args=--L1 '$plabel1' --L2 '$clabel' --L3 '$plabel2' $parent1 $child $parent2 
kdiff3.dirdiff=True 

(diffargs + diff3args Optionen beachten). Aus der obigen Quelle

die zusätzlichen Tasten von TortoiseHg für visuellen diff verwendet:

diffargs: the arguments to use for two-way file comparisons 
diff3args: the arguments to use for three-way file comparisons 

... Wenn nicht konfiguriert, ist der Standardwert von diffargs ‚$ parent $ Kind‘. Der Standardwert von diff3args ist "" und zeigt an. Das visuelle Diff-Tool kann keine Drei-Wege-Vergleiche durchführen.

aber Dreiweg-Vergleiche sind die Must für mergesets und Ihre Fehlkonfiguration ist Quelle von Problemen auf MacOS die Instanz von TortoiseHG

+0

Vielen Dank für Ihre ausführliche Antwort, Ihre Bemühungen zu schätzen wissen. Jetzt funktioniert es perfekt nach dem Hinzufügen nur dieser Zeile unter '[merge-tools]': 'kdiff3.diff3args = - L1 '$ pabel1' --L2 '$ cabel' --L3 '$ pabel2' $ parent1 $ child $ parent2' – noel

Verwandte Themen