2009-08-21 1 views
26

Originalmente la pregunta era "¿Cómo configuro WinMerge como la herramienta de comparación y fusión para TFS". Sin embargo, lo estoy cambiando porque TehOne respondió esta forma más general de la pregunta.¿Cómo configuro TFS para trabajar con varias herramientas de combinación

Tendría aunque esto hubiera sido ya formuladas en Stackoverflow. Encontré la respuesta en otro lado, pero estoy preguntando/respondiendo aquí. Ahora es una wiki de la comunidad.

Respuesta

33

Cuando yo estaba buscando la manera de hacer esto , Encontré que esta publicación es invaluable: http://blogs.msdn.com/jmanning/articles/535573.aspx

+1

Su La respuesta me hizo cambiar la pregunta y convertirla en una wiki comunitaria. –

+1

Me alegro de poder ser de ayuda, pero el verdadero mérito por supuesto es para James Manning por la publicación de su blog. Realmente me ayudó. No soporto las herramientas integradas de VSS/TFS. Entonces, poder usar mi Beyond Compare ya instalado es genial. Gracias por hacer de esto una wiki para que todos puedan consultar más adelante. – TehOne

+0

Los parámetros que utiliza para SourceGear DiffMerge son incorrectos. Los parámetros correctos se pueden encontrar [aquí] (http://stackoverflow.com/a/17523972/7850) –

12

El procedimiento largo se proporciona en a Rory Primrose blog posting

La respuesta corta es la lista de argumentos para comparar es:

/x /e /ub /wl /dl %6 /dr %7 %1 %2 

y la lista de argumentos para la fusión es:

/x /e /ub /wl /dl %6 /dr %7 %1 %2 %4 

veces Winmerge no devuelve 0 y TFS creerá que la fusión se canceló. Es necesario utilizar el siguiente archivo por lotes envoltura para la fusión:

@rem winmergeFromTFS.bat 
@rem 2007-08-01 
@rem File created by Paul Oliver to get Winmerge to play nicely with TFS 
@rem 
@rem To use, tell TFS to use this command as the merge command 
@rem And then set this as your arguments: 
@rem %6 %7 %1 %2 %4 
"C:\Program Files\WinMerge\WinMerge.exe" /x /e /ub /wl /dl %1 /dr %2 %3 %4 %5 
exit 0 

Y a continuación, establece la lista de argumentos a:

%6 %7 %1 %2 % 

salida 0

0

Para SourceGear DiffMerge, debe cambiar la línea de comando predeterminada a:

C: \ Archivos de programa (x86) \ SourceGear \ Bóveda Client \ sgdm.exe

me encontré con los parámetros de this thread en los foros de soporte SourceGear, así como en el blog de James Manning mencionado por @TehOne, pero los argumentos dados allí son incorrectos y dan como resultado que la fusión automática se ejecute en reversa, es decir, el código viejo sobrescribe el código nuevo. Los argumentos correctos son:

/m/t1 =% 6/t2 =% 7/t3 =% 8/c =% 9% 1% 3% 2/r =% 4

Cuestiones relacionadas