tfs - visual studio code compare files
¿Cómo configuro TFS para que funcione con varias herramientas de combinación? (3)
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ó a esta forma más general de la pregunta.
Habría pensado que esto ya se habría pedido en Stackoverflow. Encontré la respuesta en otro lugar, pero estoy preguntando / respondiendo aquí. Ahora es un wiki de la comunidad.
Cuando estaba buscando cómo hacer esto, encontré que esta publicación es invaluable: http://blogs.msdn.com/jmanning/articles/535573.aspx
El procedimiento largo se proporciona en un blog de Rory Primrose publicado
La respuesta corta es que la lista de argumentos para comparar es:
/x /e /ub /wl /dl %6 /dr %7 %1 %2
y la lista de argumentos para fusionar es:
/x /e /ub /wl /dl %6 /dr %7 %1 %2 %4
A veces, Winmerge no devuelve 0 y TFS pensará que la fusión se canceló. Debe utilizar el siguiente archivo de proceso por lotes para combinar:
@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 luego establece la lista de argumentos para:
%6 %7 %1 %2 %
salida 0
Para SourceGear DiffMerge, debe cambiar la línea de comando predeterminada a:
C: / Archivos de programa (x86) / SourceGear / Vault Client / sgdm.exe
Encontré los parámetros en este hilo en los foros de soporte de 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 realice de forma inversa, es decir, el código antiguo sobrescribe el código nuevo . Los argumentos correctos son:
/ m / t1 =% 6 / t2 =% 7 / t3 =% 8 / c =% 9% 1% 3% 2 / r =% 4