Über reguläre Ausdrücke in Emacs-Ediff-Verzeichnissen

Über reguläre Ausdrücke in Emacs-Ediff-Verzeichnissen

Ich möchte zwei Verzeichnisse vergleichen, die eine ähnliche Hierarchie haben.

Bei „Mx ediff-directories“ in Emacs wurde ich aufgefordert, einen regulären Ausdruck einzugeben, um den Namen der zu vergleichenden Dateien einzuschränken. Ich möchte beispielsweise die Dateien vergleichen, deren Name mit .c oder .h endet. Dann gebe ich „.*.[ch]“ ein. Allerdings stelle ich fest, dass dies nur Auswirkungen auf das oberste Verzeichnis hat, aber ich möchte, dass der reguläre Ausdruck Auswirkungen auf die Dateien in allen Unterverzeichnissen hat, unabhängig von der Tiefe.

Irgendeine Idee?

Antwort1

Soweit ich mich erinnere, ist edif-dirs nicht rekursiv. Ich habe es selbst nicht ausprobiert, aberdieses Paketscheint zu tun, was Sie wollen:

Das EdiffTrees-Paket ist ein einfaches Frontend für EdiffMode, um einen einfacheren Vergleich zweier ähnlicher Verzeichnisbäume zu ermöglichen.

Ich habe dieses Paket geschrieben, weil ich oft zwei verschiedene Versionen desselben Verzeichnisbaums vergleichen muss und ediff-directories in diesem Fall nicht sehr hilfreich ist. Insbesondere, wenn die zu vergleichenden Verzeichnisbäume tief sind und sich nur wenige Dateien geändert haben.

Weitere Anweisungen finden Sie im Kommentar in der Datei.

Alternativ können Sie (sofern Sie ein Unix-ähnliches Betriebssystem verwenden) in den Eshell-Modus (Mx eshell) wechseln und Folgendes ausführen:

diff -r dir1 dir2

Eigentlich eine Art Hack, aber hey, Sie sind immer noch in Emacs!

verwandte Informationen