2012-06-22 3 views
11

Ich habe Probleme mit der Konfliktlösung nach einer Zusammenführung mit TortoiseSVN.Wie konfiguriere ich das externe Merge-Verhalten von TortoiseSVN?

Ich versuche, die Daten an BeyondCompare zu senden und seine 3-Wege-Merge-Funktionalität zu verwenden. Leider sendet es die Dateien in einer anderen Reihenfolge als das, was BeyondCompare erwartet, und so wird die Verschmelzung alles falsch.

Wenn ich mit der rechten Maustaste in den Explorer klicke und TortoiseSVN-> Einstellungen sage, dann kann ich unter Externe Programme-> Merge Tool den Pfad zu BeyondCompare angeben, aber da ist nichts über die Argumente. Wie ordne ich die Argumente neu an, die an das externe Merge-Tool gesendet werden, damit ich die Dinge direkt in BeyondCompare anzeigen kann?

Antwort

13

Sie können die Parameter, die von TortoiseSVN im Dialogfeld TortoiseSVN->Settings->Merge Tools an die externe Merge-Anwendung (in diesem Fall BComp.exe) gesendet werden, steuern.

Ein Beispiel für die Verwendung BeyondCompare sowohl für einen Zwei-Wege-und Drei-Wege-Merge ist in dem BC support documentation:

3-way Merge (v3 Pro) 

1. Select Settings from Explorer's TortoisSVN submenu. 
2. Switch to the Merge Tool tab. 
3. Change the radio buttons from TortoiseMerge to External. 
4. In the path edits, enter: 
5. "C:\Program Files\Beyond Compare 3\BComp.exe" %mine %theirs %base %merged /title1=%yname /title2=%tname /title3=%bname /title4=%mname 

2-way Merge (v3 Std, v2) 

Use the same steps as above, but use the command line: 

`"C:\Program Files\Beyond Compare 3\BComp.exe" %mine %theirs /savetarget=%merged` 

Diese 4.30.5.2 im Tortoise SVN docs Abschnitt bedeckt ist (kein Link zu Unterthemen - die Seite durchsucht für Merge Tool):

Die Parameterersetzung wird auf die gleiche Weise wie beim Diff-Programm verwendet.

%base - die Originaldatei ohne Ihre oder die anderen ändert

%bname - Der Fenstertitel für die Basisdatei

%mine - Ihre eigene Datei mit Ihren Änderungen

%yname - Der Fenstertitel für Ihre Datei

%theirs - die Datei, wie sie im Repository ist

%tname - Der Fenstertitel für die Datei im Repository

%merged - die konfliktbehafteten Datei, das Ergebnis der Zusammenführung

%mname - Der Fenstertitel für das fusionierte Datei

Zum Beispiel, mit Perforce Merge:

C:\Path-To\P4Merge.exe %base %theirs %mine %merged

oder mit KDiff3:

C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged --L1 %bname --L2 %yname --L3 %tname

oder mit Araxis:

C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname /title3:%yname %theirs %base %mine %merged /a2

oder mit WinMerge (2.8 oder höher): C:\Path-To\WinMerge.exe %merged

+0

Dank für das große Spitze. Ich habe BComp ohne die Parameter verwendet und war wirklich mit Merge-Vorschlägen verbunden, war immer falsch mit BComp. Funktioniert gut mit Beyond Compare 4 auch. – Arvid

1

Die Antwort oben für uns nicht als Erklärung von Parametern (zumindest für uns) ist hilfreich, aber falsch für uns

Die richtige Reihenfolge war nicht funktioniert: [Path]\BCompare.exe %base %mine %theirs %merged

Der Trick hier ist es,% ihrer und% fusioniert als Beyond Compare setzt sie falsch. Als Hinweis: Die lokale Datei muss immer auf der rechten Seite angezeigt werden. Links muss revBase sein und revHEAD zentrieren.

+0

ungerade, ich habe es '% meins% ihrer% Basis% fusioniert ', so dass die lokale links, Basis Mitte und ihre rechts, und es ist eine großartige Arbeit der Zusammenführung. –

0

Für nur die DiffViewer:

Beyond Compare 3 und TortioseSVN (TortoiseSVN 1.9.4)

Einstellungen-> DiffViewer. Bewegen Sie Radio-Taste, um externe und fügen Sie ihn in ~

C: \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe% Basis% Mine

Verwandte Themen