Estou experimentando ediff-directories
, mas não tenho certeza se estou usando corretamente.
Li na documentação que, depois de fornecer dois diretórios ediff-directories
, se eu pressionar o ==
Emacs, os comparará recursivamente.
No entanto, se eu pressionar ==
, só recebo pastas com =
sinais (o que significa que as duas pastas têm conteúdo idêntico) no nível em que executo o comando. Se eu quiser ver quais pastas têm =
sinais em níveis mais profundos na hierarquia de pastas, preciso executar novamente o ==
comando em cada nível.
Como posso dizer ao emacs para ir recursivamente até as folhas, para que eu possa ver todas as diferenças no directory difference buffer
(acessível através do comando do teclado D
)?
Se alguém souber de um tutorial sobre como usar ediff-directories
(além da documentação oficial ), eu ficaria muito interessado.
Além disso, se eu quiser sair de um grupo de sessões (comparação de pastas em um nível), mas tiver sessões abertas para níveis mais profundos, se eu pressionar q
(sair deste grupo de sessões), o Emacs se queixa da mensagem:
Este grupo de sessões tem sessões ativas --- não pode sair
Como posso sair dos grupos de sessões sem sair das sub-sessões uma a uma?
ztree-diff
pode diferir dois diretórios recursivamente. github.com/fourier/ztreeRespostas:
Eu usei
M-x dired-compare-directories
, mas também há o EdiffTrees , que pode atendê-lo melhor na situação que você descreve.fonte
Eu também precisava desse recurso e criei o seguinte. A função
ediff-directories-recursive
funciona como,ediff-directories
mas se repete em subdiretórios.A mágica por trás disso está substituindo temporariamente o built-in
directory-files
por um self-madedirectory-files-recursive
antes de ligarediff-directories
.fonte
Existe um
ztree
pacote disponível no Melpa que suporta comparação recursiva da árvore de diretórios:M-x ztree-diff
usando osdiff
utilitários GNU para comparar os arquivos correspondentes.Se você usar
use-package
então para instalar e configurar oztree
pacote, adicione ao seu.emacs
:fonte