2012-10-10 21 views
14

Tengo una comparación kdiff3 en Windows, y me gustaría guardar la comparación como un archivo de texto en formato unificado.Desde una comparación de archivos kdiff3, ¿puedo generar un diff en formato unificado de diferencias?

Me doy cuenta de que esta es una pregunta extraña. Por lo general, las personas ya tienen el texto diff en la mano, y quieren verlo gráficamente en kdiff3.

estoy usando un ... unusual ... tool control de versiones de Windows, y se puede comparar versiones y mostrar la comparación en kdiff3. Sin embargo, es decididamente antipático al generar resultados compatibles con Unix, al menos para los ninjas de ClearCase como yo.

Lo que realmente me encantaría es obtener el resultado de la comparación en un formato de diferencia unificado, para que pueda usar herramientas como patch o similar. No me gusta particularmente ClearCase, y me gustaría dejarlo solo tanto como sea posible.

¿Puede kdiff3 tomar una comparación existente y exportarla a un formato unificado?

+1

Hubiera dado la vuelta a esto, pero aparentemente lo hice cuando me encontré con el mismo problema hace 2 meses. –

+3

Cleartool tiene un [diff] (http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m1/index.jsp?topic=/com.ibm.rational.clearcase.cc_ref.doc/topics/ct_diff.htm) comando. Verifique la opción -diff_format para una salida de estilo Unix estándar. – John

+0

Sigo repasando la pregunta en google y sigo usando [WinMerge] (http://winmerge.org/) para crear un archivo de parche (ya que mencionas Windows, pensé que agregar WinMerge como un comentario era un juego limpio). Su publicación es un poco vieja, pero [Joachim dijo que no existe en KDiff3 en diciembre de 2011] (http://sourceforge.net/p/kdiff3/discussion/197500/thread/59c87108/), y lo tomé un tanto respuesta rápida para significar que no es probable que venga más tarde. YMMV. – ruffin

Respuesta

5

kdiff3 en Windows tiende a venir con los estándares de línea de comandos diff utilidades, así - busque en su carpeta C:\Program Files*\KDiff3\bin; si diff.exe está allí, puede usar eso (el estándar diff -u file1 file2). (Si no está allí, vuelva a ejecutar el instalador kdiff3 y seleccione la opción "Utilidades")

Si está buscando algunos archivos en un kdiff3 en ejecución que se inició automáticamente desde ClearCase, abra un símbolo del sistema en el directorio bin kdiff3 (o copiar el contenido del directorio bin en C:\Windows para hacer estos comandos funcionan desde cualquier lugar) y hacer:

diff -u "<copy-pasted path of file A>" "<copy-pasted path of file B>"

donde los caminos para los ficheros a y archivo B provienen de la ventana kdiff3 (no importa si son archivos temporales; existirán siempre que la ventana de kdiff3 esté abierta).

Cuestiones relacionadas