Sobre regexp em diretórios ediff do emacs

Sobre regexp em diretórios ediff do emacs

Quero comparar dois diretórios que possuem hierarquia semelhante.

Com "Mx ediff-directories" no Emacs, fui solicitado a inserir um regexp para restringir o nome dos arquivos que desejo comparar. Por exemplo, quero comparar os arquivos cujo nome termina com .c ou .h. Então eu insiro ".*.[ch]", no entanto, acho que ele só tem efeitos no diretório de nível superior, mas quero que o regexp tenha efeitos nos arquivos localizados em todos os subdiretórios, não importa a profundidade isso é.

Qualquer ideia?

Responder1

Pelo que me lembro, edif-dirs não é recursivo. Eu não tentei sozinho, maseste pacoteparece fazer o que você quer:

O pacote EdiffTrees é uma interface simples para EdiffMode para permitir uma comparação mais simples de duas árvores de diretórios semelhantes.

Eu escrevi este pacote porque muitas vezes preciso comparar duas versões diferentes da mesma árvore de diretórios e ediff-directories não é muito útil neste caso. Especialmente quando as árvores de diretórios a serem comparadas são profundas e apenas alguns arquivos foram alterados.

Para obter mais instruções, consulte o comentário no arquivo.

Alternativamente, supondo que você esteja em um sistema operacional semelhante ao Unix, você pode entrar no modo eshell (Mx eshell) e executar:

diff -r dir1 dir2

Na verdade, é meio que um hack, mas ei, você ainda está no emacs!

informação relacionada