2017-11-16 10 views
0

いつも私がフォルダからファイルをコピーしようとすると、いくつかの変更とパッチを適用して、新しいファイルにパッチを当てようとします。どうして?差分とパッチが期待どおりに動作しない

$ mkdir test 
$ vim test/1 (Write something) 
$ cp test/1 ./1 
$ vim 1 (Do some change) 
$ diff -Naur test/1 1 > patch 
$ patch -p0 < patch 
    pathing file 1 
    Reversed (or previously applied) patch detected! Assume -R? [n] 
+0

BTW Linuxには、フォルダではなく、 –

答えて

0

読む慎重patch(1)diff(1)

patch現在の作業ディレクトリで動作します(デフォルト)。しかし、あなたは他のディレクトリから(パッチの)diffを呼び出します。 で試してみると、うまくいく可能性があります。 diffへの議論の順序は大いに重要です!

+0

の「ディレクトリ」(https://en.wikipedia.org/wiki/Directory_(computing))があります。diff -Naur 1 test/1> patch'と 'diff -Naur test/1 1> patch'は同じ結果を返します。彼らはすべて1を編集しようとします、なぜ... – Morland

+0

私はそれを観察しません。あなたは本当に確信していますか? 'diff -Naur 1 test/1> patcha'と' diff -Naur test/1 1> patchb'を試してみましたが、 'diff patcha patchb'や' cmp patcha patchb 'を実行して、チェックサムを比較する'md5sum patcha'と' md5sum patchb'で与えられているように? –

+0

良い編集者は、相違点を表示する機能も持っています。例えば、 'emacs'は非常に便利な* ediff *モードを持っています。それを使うことを検討してください。 –

関連する問題