次のテキストを含むファイル()があるとしますmyfile.txt
。
The quick brown fox jumps over the lazy dog.
myfile.txt
このファイルの名前をからに変更しましたmystory.txt
。この名前の変更を表すdiffをどのように生成しますか?名前を変更するpatch
ために供給できるdiffをどのように生成できますか?ファイルの内容は変更されず、ファイル名のみが変更されます。myfile.txt
mystory.txt
私はdiff
GNU diffutilsとpatch
GNUパッチを使用しています。
ベストアンサー1
違い-N
オプションはこの目的に使用されます。
-N, --new-file
treat absent files as empty
例えば
$ mkdir foo
$ ls -l >foo/listing
$ cp -r foo foo2
$ mv foo2/listing foo2/listing2
$ diff -r -N foo foo2 >/tmp/diff
新しいファイルとして「foo2 / listing」を表示するリストが作成されます。
コマンドラインdiff
次のようには表示されません。名前変更ただし、パッチでアイテムを削除/追加できます。 diffは比較のみなので、「名前が変更されました」とは表示されません。コンテンツファイルのinode値(同じファイルシステムで名前を変更すると保存されます)。代わりgit
に(使用する場合それ名前変更機能) 名前変更が表示されます。 Git
もちろんだまされているかもしれませんが、次のものよりはるかに複雑です。diff
。