2012-05-14 54 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