2012-06-22 9 views
11

Ho qualche problema durante l'esecuzione della risoluzione dei conflitti dopo l'unione con TortoiseSVN.Come si configura il comportamento di fusione esterna di TortoiseSVN?

Sto cercando di inviare i dati a BeyondCompare e utilizzare le sue funzionalità di unione a 3 vie. Sfortunatamente, invia i file in un ordine diverso rispetto a quello che BeyondCompare si aspetta, e quindi la fusione è completamente sbagliata.

Se faccio clic con il pulsante destro del mouse su Explorer e dico TortoiseSVN-> Impostazioni, quindi in Programmi esterni-> Strumento di unione, posso specificare il percorso di BeyondCompare, ma non c'è nulla in merito agli argomenti. Come posso riordinare gli argomenti che invia allo strumento di unione esterna in modo che sia possibile visualizzare le cose direttamente in BeyondCompare?

risposta

13

È possibile controllare i parametri inviati all'applicazione di unione esterna (in questo caso BComp.exe) da TortoiseSVN nella finestra di dialogo TortoiseSVN->Settings->Merge Tools.

Un esempio di utilizzo BeyondCompare sia per un due vie e tre vie unione è nella 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` 

Questo è trattato nel Tortoise SVN docs, sezione 4.30.5.2 (nessun collegamento di sotto-argomenti - la ricerca della pagina per Merge Tool):

sostituzione di parametro viene utilizzato allo stesso modo come con il programma diff.

%base - il file originale, senza i tuoi o di altri cambia

%bname - Il titolo della finestra per il file di base

%mine - un tuo file, con le modifiche

%yname - il titolo della finestra per il tuo file

%theirs - il file così com'è nel repository

%tname - Il titolo della finestra per il file nel repository

%merged - un file in conflitto, il risultato della operazione di fusione

%mname - Il titolo della finestra per il file unito

Ad esempio, con Perforce Merge:

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

o con KDiff3:

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

o con Araxis:

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

o con WinMerge (2.8 o successiva): C:\Path-To\WinMerge.exe %merged

+0

Grazie per la grande punta. Ho usato BComp senza i parametri e sono stato davvero annoiato dai suggerimenti di unione che sono sempre stati errati con BComp. Funziona bene anche con Beyond Compare 4. – Arvid

1

La risposta di cui sopra non funziona per noi come la spiegazione dei parametri è utile ma sbagliato (almeno per noi)

L'ordine corretto per noi era: [Path]\BCompare.exe %base %mine %theirs %merged

Il trucco qui è scambiare% loro e% uniti come Oltre Confronta li mette male. Come suggerimento: il file locale deve sempre essere visualizzato alla vista a destra. Sinistra deve essere revBase e centro revHEAD.

+0

dispari, ho '% mio% loro% base% unita ', quindi il locale è a sinistra, il mezzo di base e il loro a destra, e fa un ottimo lavoro di fusione. –

0

solo per la DiffViewer:

Beyond Compare 3 e TortioseSVN (TortoiseSVN 1.9.4)

Impostazioni-> DiffViewer. Spostare il tasto Radio per esterni e incollare ~

C: \ Program Files (x86) \ Beyond Compare 3 \% BCompare.exe base% miniera

Problemi correlati