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

标签 java diff patch

我正在尝试维护一组补丁,这些补丁需要应用于代码的多个版本/分支。目前的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/

相关文章:

java - 启动 Eclipse 平台时出现 MESSAGE 异常

Git 显示整个文件的变化

c# - 如何使用 google-diff-match-patch C# 库?

github pull 请求 : Conflicting advice on commit ranges?

java - 为什么 BufferedImage 输出看起来与 Linux 平台上 JFrame 窗口中的屏幕不同?

java - LibGDX 允许玩家走过 Block2D 形状的透明区域

Java:我是否有一个有效的正则表达式来消除符号和重命名文件?

php - php 中的天数差异

git - 在 Git 中使用 Winmerge 来归档差异

git - 从 2 个文件夹的差异创建补丁文件