如何合并多个补丁文件?

时间:2009-11-30 10:18:56

标签: svn scripting diff patch

我们使用subversion,在每次签入时,脚本都会创建一个包含所有diff的补丁文件。现在对于相同的问题/缺陷,可能会有多个签到,我们最终得到了多个补丁文件。现在,要查看问题的合并更改,必须合并所有修补程序文件。有没有办法做到这一点?

或者解决同一问题的另一种方法是:在subversion中是否有办法将所有更改的组合差异作为特定注释的一部分完成?例如:

签入评论:“123:先改变”
签入评论:“123:第二组更改”
签入评论:“123:第三次改变”..

有没有办法获得所有发生变化的组合差异,其评论的前缀为123?

2 个答案:

答案 0 :(得分:11)

来自combinediff

patchutils可以为您组合差异。

(无耻地从this previous SO question借来。)

答案 1 :(得分:3)

从第一个变更集之前的修订版开始创建一个新分支。 在新分支中,按顺序合并问题的每个变更集。 在新分支的开始和最终结果之间进行差异。

(如果你进行基于问题的分支,你会自动得到上述情况。)

Mercurial有一个很好的扩展来处理补丁集合,即mq exension。反过来,它基于被子(http://savannah.nongnu.org/projects/quilt),这是一个旨在将补丁堆叠在一起的系统。