¿Herramienta para crear una lista basada en texto de archivos modificados desde un árbol de origen?

Estoy buscando una herramienta que pueda comparar dos árboles de origen y generar una lista de archivos modificados con sus rutas, como se muestra a continuación. Tengo Araxis Merge hoy y lo uso para comparar y fusionar cambios con otros desarrolladores, pero cuando registramos el software en nuestra herramienta de repositorio, necesitamos una lista de archivos para registrarlos individualmente. La herramienta de repositorio no se integra con la nuestra IDE, por lo que es un proceso manual. Solo me gustaría una herramienta para crear una lista de archivos que necesitan registrarse en el repositorio. Los registraré manualmente y agregaré los motivos del cambio, pero me gustaría tener una forma de crear la lista de archivos cambiados/agregados/eliminados automáticamente si es posible.

Básicamente tengo que ingresar a la herramienta.

  1. Árbol fuente #1(C:\sourcedir - rev1)
  2. Árbol fuente #2(C:\sourcedir_rev - rev2)

Y genera una lista como la siguiente....

C:\sourcedir\Include\myheader2.h

C:\sourcedir\Source\mysource2.c

C:\sourcedir\Configuration\myconfig2.ini

C:\sourcedir\Include\myheader1.h

C:\sourcedir\Source\mysource4.c

C:\sourcedir\Source\mysource5.c

¡Gracias!

Respuestas (2)

Gerente lejano

Far Manager es una de las herramientas de administración de archivos más potentes de Windows. Tiene una amplia gama de características. Los más relevantes a tu pregunta son:

  • Comparando los archivos en dos directorios
  • Grabación de macros para que las acciones se puedan repetir con una sola combinación de teclas

Lo que sigue son instrucciones sobre cómo crear una lista de archivos modificados:

  1. Navegue a ambas carpetas usando los dos paneles en Far Manager
  2. Compara las carpetas usando la secuencia F9- C-C
    • Esto resaltará los archivos modificados en el panel derecho
  3. Copie los nombres de archivo resaltados usando Ctrl++AltInsert
  4. Pégalos en un archivo de texto (o escríbelos usando echo Ctrl+v > diff.txt

Esas fueron muchas pulsaciones de teclas, por lo que tiene sentido crear un atajo para eso. Aquí está cómo hacerlo:

  1. Use Ctrl+ .para comenzar a grabar la macro
  2. Escriba los pasos anteriores
  3. Use Ctrl+ .para guardar la macro en una combinación de teclas personalizada. Usé Ctrl++ por ejemplo Shift.F1

Puede presionar ++ Ctrlpara eliminar o cambiar la macro. Debe tener un aspecto como este:..

Keys("F9 c c CtrlAltIns e c h o Space CtrlV Space > Space d i f f . t x t Enter")

Usando su combinación de teclas designada, debe terminar con un archivo llamado diff.txtque contiene una lista de los nombres de los archivos modificados en el panel derecho


Más opciones de comparación avanzadas están disponibles a través del complemento Comparación avanzada, incluida la especificación de verificar o no las subcarpetas y si basar los resultados en el tamaño, el contenido o ambos:

También existen otros complementos de comparación de archivos y directorios, a saber, Deep Compare y Visual Compare

Nota: Far Manager funciona mejor cuando se usa junto con ConEmu , que ofrece varias pestañas y otras funciones ampliadas.

diffLa herramienta de línea de comandos puede hacer esto. Consulte https://stackoverflow.com/questions/6217628/diff-to-output-only-the-file-names

diff -qr dir1 dir2

Deberías hacer lo que buscas.

En Windows puedes usar algo como cygwinesto.