我正在尝试维护一组补丁,这些补丁需要应用于代码的多个版本/分支。目前的diff/patch方式(以及git cherry-picking)不够灵活,主要是context的依赖。例如,假设我的补丁在 java 类中添加了一些常量。如果在一个版本的代码中插入了另一个常量,恰好在同一个地方,补丁将失败。在一般情况下,这是可以的,因为顺序可能很重要,但是在 java 代码的情况下,字段的顺序(至少在 99% 的情况下)无关紧要。在另一个示例中,我想在一行之后插入一行。然而,上下文总共包含 6 行,只有当所有这些都匹配时,补丁才会正常应用。
我尝试手动编辑 diff 文件,例如仅保留一行上下文,但随后补丁失败并显示消息“补丁损坏”。
所以我想知道是否有更好的(最好是开源的)diff/patch 的替代方案,它更灵活。
提前致谢! /帕尔
最佳答案
尝试使用git format-patch -U1 <revisions>
,它会生成一个包含 1 行上下文的补丁。
关于java - 是否有比 diff/patch 更灵活的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817556/