ファイル名を変更するためのパッチを作成する方法

ファイル名を変更するためのパッチを作成する方法

次のテキストを含むファイル()があるとしますmyfile.txt

The quick brown fox jumps over the lazy dog.

myfile.txtこのファイルの名前をからに変更しましたmystory.txt。この名前の変更を表すdiffをどのように生成しますか?名前を変更するpatchために供給できるdiffをどのように生成できますか?ファイルの内容は変更されず、ファイル名のみが変更されます。myfile.txtmystory.txt

私はdiffGNU diffutilsとpatchGNUパッチを使用しています。

ベストアンサー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

おすすめ記事