是否有更灵活的diff / patch替代方案?

时间:2011-10-19 06:51:03

标签: java diff patch

我正在尝试维护一组补丁,这些补丁需要应用于代码的多个版本/分支。当前的diff / patch方法(和git cherry-picking)不够灵活,主要是由于上下文的依赖性。例如,假设我的补丁在java类中添加了一些常量。如果在一个版本的代码中插入另一个常量,恰好在同一个地方,补丁将失败。在一般情况下,这是可以的,因为顺序可能很重要,但是在java代码的情况下,字段的顺序(至少在99%的情况下)并不重要。在另一个例子中,我想在另一个之后插入一行。但是,上下文总共包含6行,并且仅当所有这些匹配时才正常应用补丁。

我尝试手动编辑差异文件,例如只保留一行上下文,但补丁失败并显示消息“已损坏的补丁”。

所以我想知道是否有更好的(优选的开源)替代diff / patch更灵活。

提前谢谢! / PAL

1 个答案:

答案 0 :(得分:1)

尝试使用git format-patch -U1 <revisions>,它会生成一个包含1行上下文的补丁。

相关问题