emacs ediff-directories の正規表現について

emacs ediff-directories の正規表現について

同様の階層構造を持つ 2 つのディレクトリを比較したいと思います。

Emacs 内の「Mx ediff-directories」を使用すると、比較するファイル名を制限する正規表現を入力するように求められます。たとえば、名前が .c または .h で終わるファイルを比較したいとします。次に、「.*.[ch]」と入力します。ただし、これは最上位のディレクトリにのみ有効であることがわかりました。しかし、深さに関係なく、すべてのサブディレクトリにあるファイルに正規表現を適用したいのです。

何か案が?

答え1

私の記憶では、edif-dirsは再帰的ではありません。自分で試したことはないのですが、このパッケージあなたが望むことをしているようです:

EdiffTrees パッケージは、2 つの類似したディレクトリ ツリーをより簡単に比較できるようにする、EdiffMode のシンプルなフロントエンドです。

このパッケージを作成したのは、同じディレクトリ ツリーの 2 つの異なるバージョンを比較する必要があることがよくあるのですが、この場合、ediff-directories はあまり役に立ちません。特に、比較するディレクトリ ツリーが深く、変更されたファイルが少数の場合に便利です。

詳しい手順については、ファイル内の解説を参照してください。

あるいは、Unix 系 OS を使用している場合は、eshell モード (Mx eshell) に入り、次のコマンドを実行します。

diff -r dir1 dir2

実際のところ、これは一種のハックですが、まあ、あなたはまだ emacs を使っていますからね!

関連情報