diff命令,甚至使用Git選項,包括DCS上常用的路徑前綴:如何從Mercurial生成一個乾淨的補丁?
--- a/file.ext
+++ b/file.ext
因此應用如果您需要使用-p0的-p1不是這樣的補丁。
有什麼辦法可以從Mercurial生成乾淨的補丁?
diff命令,甚至使用Git選項,包括DCS上常用的路徑前綴:如何從Mercurial生成一個乾淨的補丁?
--- a/file.ext
+++ b/file.ext
因此應用如果您需要使用-p0的-p1不是這樣的補丁。
有什麼辦法可以從Mercurial生成乾淨的補丁?
Mercurial不會發出-p0補丁。正如@Ringdig指出的那樣,它們很少是你想要的。
您可以修改此答案中給出的查看腳本:transforming patch strip level以刪除第一個目錄而不是添加它。
像這樣的東西應該工作(未經測試):
sed \
-e 's!^--- a/!--- !' \
-e 's!^+++ b/!+++ !' \
< p1.patch \
> p0.patch
假設你的「P1補丁」是一個文件名爲p1.patch,輸出將在p0.patch
幾乎每個人都使用 - p1補丁。你認爲擁有-p0補丁的好處是什麼? – Ringding