ฉันมีแพทช์ที่มีเส้นทางที่แน่นอนที่ฉันต้องการใช้ เช่นสองสามบรรทัดแรกมีดังนี้
--- /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml 2014-10-10 18:47:23.000000000 +1100
+++ /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml.mod 2014-11-11 09:44:17.786200477 +1100
อย่างไรก็ตามมันล้มเหลวเว้นแต่ฉันอยู่ในไดเรกทอรีราก
~$ cd
~$ sudo patch -i /tmp/fix_kde_icons.patch -p0
Ignoring potentially dangerous file name /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml
Ignoring potentially dangerous file name /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml.mod
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
...
~$ cd /tmp
/tmp$ sudo patch -i /tmp/fix_kde_icons.patch -p0
... #same error as above
/tmp$ cd /usr
/usr$ sudo patch -i /tmp/fix_kde_icons.patch -p0
... #same error as above
/usr$ cd /
/$ sudo patch -i /tmp/fix_kde_icons.patch -p0
patching file /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml
มีวิธีการpatch
ใช้เส้นทางสัมบูรณ์กับไดเรกทอรีการทำงานใด ๆ หรือไม่?
ฉันจะแก้ไขตัวแก้ไขแทน
—
Braiam
@Braiam ฉันจะแก้ไขเฉพาะสิ่งใดในการแก้ไขได้บ้าง ฉันสงสัยว่าฉันสามารถหลีกเลี่ยงการระบุเส้นทางเป้าหมายใน
—
Sparhawk
patch
คำสั่งได้หรือไม่
กรุณาบริบทบางอย่าง คุณกำลังพยายามใช้โปรแกรมแก้ไขนี้กับระบบที่ทำงานอยู่หรือไม่? ถ้าเป็นเช่นนั้นทำไม การกระจาย / OS ของคุณคืออะไร? แพทช์นี้ทำอะไร ดูเหมือนว่าแพทช์สำหรับสิ่งที่ KDE องค์ประกอบอะไร โดยทั่วไปถ้าคุณแจกจ่ายไม่ได้ใช้แพทช์สำหรับคุณคุณควรสร้างแพคเกจที่เกี่ยวข้องจากแหล่งที่มากับการใช้แพทช์ และคุณสามารถตัดส่วนที่เป็นผู้นำของเส้นทาง นั่นไม่ควรเป็นปัญหา จำนวนที่คุณตัดแต่งขึ้นอยู่กับว่าต้นฉบับมีลักษณะอย่างไร
—
Faheem Mitha
@FaheemMitha ใช่มันใช้งานได้ด้วย Arch / KDE มันจะแก้ไขข้อผิดพลาดนี้ การแก้ไขจะทำงานหากฉันใช้การเปลี่ยนแปลงด้วยตนเอง
—
Sparhawk
/tmp/foo
แต่ผมไม่คิดว่าเรื่องบริบทมากในกรณีนี้ที่ผมสามารถทำซ้ำปัญหานี้มีไฟล์ทดสอบใน patch
ฉันสนใจในคำตอบทั่วไปที่นำไปใช้กับ