Windows 将两个文件之间的差异应用于另一个文件的工具或库?

Windows 将两个文件之间的差异应用于另一个文件的工具或库?,windows,merge,diff,Windows,Merge,Diff,我有3个文件 f1.java f1rev1.java f1rev2.java 我想做的是获取“f1.java”和“f1rev1.java”之间的差异,并将该差异应用于“f1rev2.java”,而不考虑f1.java和f1rev2.java之间的差异。 有什么工具或库可以用来实现这一点吗? 任何语言都可以 注-我研究了diff3算法。在这里,它比较了f1.java与f1rev1.java以及f1.java与f1rev2.java 我不想考虑F1和F1Rev2之间的差异。 < P>你没有指定你的平

我有3个文件

  • f1.java
  • f1rev1.java
  • f1rev2.java
  • 我想做的是获取“f1.java”和“f1rev1.java”之间的差异,并将该差异应用于“f1rev2.java”,而不考虑f1.java和f1rev2.java之间的差异。

    有什么工具或库可以用来实现这一点吗? 任何语言都可以

    注-我研究了diff3算法。在这里,它比较了f1.java与f1rev1.java以及f1.java与f1rev2.java


    <>我不想考虑F1和F1Rev2之间的差异。

    < P>你没有指定你的平台(提示:使用适当的标签!)< /P> 在基于UNIX的平台上,您可以使用工具
    diff
    patch
    实现您想要做的事情

  • 使用
    diff-u f1.java f1rev1.java>rev1.patch
    创建修补程序
  • 通过
    patch f1rev2.java rev1.patch
    将修补程序应用于其他源文件
  • 正如你所看到的,这很容易。只有补丁中包含的差异才会在另一个文件上播放。请注意,这仅在修补程序与之兼容时有效。您可以使用
    less
    读取修补程序文件,以查看要应用的更改

    在Windows系统上,您可以执行以下步骤:


    遗憾的是,正如预期的那样,这要耗费更多的时间。考虑使用明文:CygWin。< /P>我正在尝试构建一个工具。我想让用户能够选择用户想要从补丁(f1和f1rev1之间的差异)合并到f1rev2的内容