![入力行3にパッチするファイルが見つかりません。 [重複]](https://linux33.com/image/65267/%E5%85%A5%E5%8A%9B%E8%A1%8C3%E3%81%AB%E3%83%91%E3%83%83%E3%83%81%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%20%5B%E9%87%8D%E8%A4%87%5D.png)
diff
コンテキスト行番号1(オプション)を含むコマンドを使用して-c
パッチを作成しました。私のパッチファイルの内容:
*** /home/sk/abc/def/src/klm/a.py 2015-05-18 16:25:50.348398554 +0530
--- /opt/abc/def/ghi/klm/a.py 2015-05-18 14:27:13.860503469 +0530
***************
*** 72,73 ****
--- 72,74 ----
output, error, rCommand = "", "", ""
+ import subprocess
rCommand = self.copyCmd % (self.executor_hostname, self.testId, self.testId)
このコマンドを使用してパッチを適用しようとすると、
cd /
patch -p0 < sg.patch
私はこの出力を取得します。
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|*** /home/sk/abc/def/src/klm/a.py 2015-05-18 16:25:50.348398554 +0530
|--- /opt/abc/def/ghi/klm/a.py 2015-05-18 17:10:48.368670076 +0530
--------------------------
File to patch:
patchコマンドが2行目のファイル名をパッチするファイルとして使用しないのはなぜですか?
答え1
ルートディレクトリに絶対パスでパッチを適用し、この-p0
オプションを適用する必要があります。また、見ることができますこの投稿。