Acerca de las expresiones regulares en los directorios ediff de emacs

Acerca de las expresiones regulares en los directorios ediff de emacs

Quiero comparar dos directorios que tienen una jerarquía similar.

Con "Mx ediff-directories" dentro de Emacs, se me pidió que ingresara una expresión regular para restringir el nombre de los archivos que quiero comparar. Por ejemplo, quiero comparar los archivos cuyo nombre termina en .c o .h. Luego ingreso ".*.[ch]". Sin embargo, encuentro que solo tiene efectos en el directorio de nivel superior, pero quiero que la expresión regular tenga efectos en los archivos que se encuentran en todos los subdirectorios, sin importar la profundidad. es.

¿Alguna idea?

Respuesta1

Según recuerdo, edif-dirs no es recursivo. No lo he probado yo mismo, peroeste paqueteparece hacer lo que quieres:

El paquete EdiffTrees es una interfaz sencilla para EdiffMode que permite una comparación más sencilla de dos árboles de directorios similares.

Escribí este paquete porque a menudo necesito comparar dos versiones diferentes del mismo árbol de directorios y ediff-directories no es muy útil en este caso. Especialmente cuando los árboles de directorios a comparar son profundos y solo han cambiado unos pocos archivos.

Para más instrucciones, consulte el comentario en el archivo.

Alternativamente, suponiendo que esté en un sistema operativo tipo Unix, puede ingresar al modo eshell (Mx eshell) y ejecutar:

diff -r dir1 dir2

Realmente es una especie de truco, pero bueno, ¡todavía estás en emacs!

información relacionada