Não é possível encontrar o arquivo a ser corrigido na linha de entrada 3 [duplicado]

10

Gerei um patch usando o comando diff com o número de linhas de contexto como 1 ( -c option). Meu conteúdo do arquivo de patch:

*** /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)

Quando tentei aplicar o patch usando esses comandos,

cd /
patch -p0 < sg.patch

Eu tenho essa saída,

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:

Por que o comando patch não pega o nome do arquivo na segunda linha como o arquivo a ser corrigido?

    
por Madhavan Kumar 18.05.2015 / 13:48

1 resposta

9

Você precisa estar no diretório raiz para aplicar o patch com um caminho absoluto e aplicar a opção -p0 . Veja também este post .

    
por 18.05.2015 / 13:55

Tags