(2 réponses)
Fermé il y a 4 ans.
J'ai généré un patch en utilisant le diff
commande avec le nombre de lignes de contexte égal à 1 (-c
option). Contenu de mon fichier 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)
Lorsque j'ai essayé d'appliquer le correctif à l'aide de ces commandes,
cd /
patch -p0 < sg.patch
J'ai obtenu cette sortie,
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:
Pourquoi la commande patch ne prend-elle pas le nom du fichier sur la deuxième ligne comme fichier à corriger ?
Réponse acceptée :
Vous devez être dans le répertoire racine pour appliquer le patch avec un chemin absolu, et appliquer le -p0
option. Voir aussi cet article.