2011-05-10 14 views
10

Al comparar dos versiones de MS Word doc/Excel book en Team Foundation Server Source Explorer, el resultado es el aburrido cuadro de diálogo "Binary filles differ".Dif. De archivo de MS Office en TFS

Sin embargo, no tiene por qué ser así. Las aplicaciones relevantes (Word/Excel) tienen una excelente interfaz de diff incorporada. Puede presenciarlo cuando trabaje con la biblioteca de archivos de SharePoint habilitada para el control de versiones y lo compare con una versión anterior. Además, TortoiseSVN lo plantea cuando haces diffs.

Pregunta: ¿Puedo habilitar esto en TFS?

Respuesta

9

Puede configurar herramientas de comparación (diff) y combinar por tipo de archivo (extensión). Este servicio está disponible a través de Herramientas -> Opciones -> Origen del control -> Visual Studio Team Foundation Server -> Herramientas de Configuración de usuario" botón oa través de la línea de comandos con tf diff /configure

Con el fin de establecer una herramienta de comparación , especificará la extensión (use .* si desea que se use para todos los archivos no especificados), la operación que está configurando (Compare o Merge), el comando para invocar y los argumentos para el comando. argumentos, las variables disponibles para su uso son las siguientes:

%1 = Original file (in diff, the pre-changes file, in merge, the "server" or "theirs" file, the file that is the base file after "their" changes were applied) 
%2 = Modified file (in diff, the post-changes file, in merge the "yours" file - the base file with "your" changes applied) 
%3 = Base file (in the 3-way merge operation, the file which both "theirs" and "yours" are derived from - the common ancestor. This doesn't mean it's the version the changes were based from, since this may be a cherry-pick merge) 
%4 = Merged file (The output file for the merge operation - the filename that the merge tool should write to) 
%5 = Diff options (any additional command-line options you want to pass to your diff tool - this comes into play only when using "tf diff /options" from the command-line) 
%6 = Original file label (The label for the %1 file) 
%7 = Modified file label (The label for the %2 file) 
%8 = Base file label (The label for the %3 file) 
%9 = Merged file label (The label for the %4 file) 

Para usar TortoiseSVN - la cual parece que hace lo que quiere - se especificaría el comando como la ruta del archivo a TortoiseMerge.exe

Para las comparaciones, especifique los argumentos: /base:%1 /mine:%2 /basename:%6 /minename:%7

Para fusiones, especifique los argumentos: /base:%3 /mine:%2 /theirs:%1 /basename:%8 /minename:%7 /theirsname:%6 /merged:%4 /mergedname:%9

Esta y otra información sobre los argumentos para varias herramientas de fusión (incluidas otras herramientas de comparación de palabras como DiffDoc.exe) se pueden encontrar en on James Manning's MSDN blog. También puede encontrar uso en otra pregunta de stackoverflow en invoking the word comparison tool from the command line.

+0

Me he beneficiado de esto, gracias. – oqx

+2

Guardé una copia de [diff-doc.js] (http://code.google.com/p/tortoisesvn/source/browse/trunk/contrib/diff-scripts/diff-doc.js) en un directorio para utilizar como el comando y le dio los argumentos "% 1% 2". Funciona genial. –

+0

Solo para ampliar lo que @DanielBallinger dijo, en realidad hay scripts para varios formatos de archivo (Word, Excel, Powerpoint, exe/dll, etc.) [aquí] (https://code.google.com/p/tortoisesvn/ source/browse/trunk/contrib/diff-scripts /). – sclarke81

Cuestiones relacionadas