Ich versuche, 5 Dateien innerhalb eines Mac-Anwendungspakets mit dem patch
Befehl " Terminal" zu patchen . Die zu patchenden Dateien werden mit einem absoluten Dateipfad angegeben (Dateiname und Pfad beginnen mit einem Schrägstrich).
Die Ausgabe beim Laufen $ sudo patch -i ~/custom.patch
ist:
can't find file to patch at input line 3
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|--- /Applications/Xyz.app/Contents/Resources/dashboard.js
|+++ /Applications/Xyz.app/Contents/Resources/dashboard.js
--------------------------
File to patch: ^C
Ich habe überprüft, dass die Datei /Applications/Xyz.app/Contents/Resources/dashboard.js unter Verwendung des ls
Befehls im angegebenen Dateipfad vorhanden ist .
Regression:
- Versucht, den Patch-Befehl über den Stammordner auszuführen
$ cd /
- Es wurde versucht, den Patch-Befehl im Stammordner auszuführen, wobei der erste Schrägstrich entfernt wurde. Dies führt zu einem nahezu identischen Ergebnis:
can't find file to patch at input line 3
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|--- Applications/Xyz.app/Contents/Resources/dashboard.js
|+++ Applications/Xyz.app/Contents/Resources/dashboard.js
--------------------------
File to patch: ^C
Wie können mehrere Dateien in einem Mac OS X-Anwendungspaket mithilfe von Patches gepatcht werden patch
?
/Applications/
Vergleich zuApplications/
Antworten:
Ich denke, das Problem ist, dass Sie nicht die Option p angeben.
Aus dem Handbuch zum Patch:
Der Befehl sollte also ungefähr so lauten:
Oder Sie können das Verzeichnis angeben, auf das der Patch angewendet werden soll:
quelle
-p -d
sehen vielversprechend aus, wenn sich alle zu patchenden Dateien im selben Ordner befinden.-p
ist keine Antwort, da ich den absoluten Pfad der Datei innerhalb der Patch-Datei angeben möchte. Der Wunsch ist, verschiedene Dateien an verschiedenen absoluten Pfadpositionen zu patchen.-d
das ist wahr. Der Parameter-p
arbeitet mit den in der Patch-Datei gefundenen Dateinamen. so mit dem-p0
sollten Sie in der Lage sein , absolute Dateipfade zu spezifizieren