2012-06-22 10 views
11

Tengo problemas para ejecutar la resolución de conflictos después de una fusión con TortoiseSVN.¿Cómo configuro el comportamiento de fusión externo de TortoiseSVN?

Estoy tratando de que envíe los datos a BeyondCompare y use su funcionalidad de combinación de 3 vías. Lamentablemente, envía los archivos en un orden diferente al esperado por BeyondCompare, por lo que la fusión es incorrecta.

Si hago clic con el botón derecho en Explorer y digo TortoiseSVN-> Configuración, en Programas externos-> Fusionar herramienta puedo especificar la ruta a BeyondCompare, pero no hay nada sobre los argumentos. ¿Cómo reordenar los argumentos que envía a la herramienta de fusión externa para que pueda ver las cosas en BeyondCompare?

Respuesta

13

Puede controlar los parámetros enviados a la aplicación de combinación externa (en este caso BComp.exe) por TortoiseSVN en el cuadro de diálogo TortoiseSVN->Settings->Merge Tools.

Un ejemplo del uso BeyondCompare tanto para una fusión de dos vías y de tres vías está en el 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` 

Esto se trata en la Tortoise SVN docs, sección 4.30.5.2 (sin enlace a subtemas - busca en el para Merge Tool):

La sustitución de parámetros se utiliza de la misma manera que con el Programa Diff.

%base - el archivo original sin suyo ni de otros cambios

%bname - El título de la ventana para el archivo de base de

%mine - su propio archivo, con sus cambios

%yname - El título de la ventana para su archivo

%theirs - el archivo está en el repositorio

%tname - El título de la ventana para el archivo en el repositorio

%merged - el fichero en conflicto, el resultado de la operación de fusión

%mname - El título de la ventana para el archivo fusionado

Por ejemplo, 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 superior): C:\Path-To\WinMerge.exe %merged

+0

Gracias por gran consejo. Utilicé BComp sin los parámetros y me molestó mucho que las sugerencias de fusión siempre fueran incorrectas con BComp. Funciona bien con Beyond Compare 4 también. – Arvid

1

La respuesta anterior no funciona para nosotros como la explicación de los parámetros es útil, pero mal (al menos para nosotros)

El orden correcto para nosotros fue: [Path]\BCompare.exe %base %mine %theirs %merged

El truco aquí es intercambiar% theirs y% fusionado como Beyond Compare los pone en un lugar equivocado. Como sugerencia: el archivo local siempre debe mostrarse a la derecha. Left debe ser revBase y center revHEAD.

+0

extraño, lo tengo '% mine% theirs% base% merged' así que el local queda a la izquierda, base a la mitad y el de ellos a la derecha, y hace un gran trabajo al fusionarse. –

0

Por tan sólo el DiffViewer:

Más allá de comparación 3 y TortioseSVN (TortoiseSVN 1.9.4)

Configuración-> DiffViewer. Mueva el botón de radio a la externa y pegar en ~

C: \ Archivos de programa (x86) \ Más allá de comparación 3 \% BCompare.exe base% mine

Cuestiones relacionadas