2012-05-14 53 views
0

diff命令,甚至使用Git選項,包括DCS上常用的路徑前綴:如何從Mercurial生成一個乾淨的補丁?

--- a/file.ext 
+++ b/file.ext 

因此應用如果您需要使用-p0的-p1不是這樣的補丁。

有什麼辦法可以從Mercurial生成乾淨的補丁?

+1

幾乎每個人都使用 - p1補丁。你認爲擁有-p0補丁的好處是什麼? – Ringding

回答

1

Mercurial不會發出-p0補丁。正如@Ringdig指出的那樣,它們很少是你想要的。

0

您可以修改此答案中給出的查看腳本:transforming patch strip level以刪除第一個目錄而不是添加它。

像這樣的東西應該工作(未經測試):

sed \ 
    -e 's!^--- a/!--- !' \ 
    -e 's!^+++ b/!+++ !' \ 
    < p1.patch \ 
    > p0.patch 

假設你的「P1補丁」是一個文件名爲p1.patch,輸出將在p0.patch