Java 如何在WebApp中构建类似SVN/Git的Diff?

Java 如何在WebApp中构建类似SVN/Git的Diff?,java,svn,git,diff,compare,Java,Svn,Git,Diff,Compare,我有XML(或对象),它表示业务流程中某个点的数据。我希望能够看到step1和step5之间发生了什么变化(相同XML或对象的两个版本)。我想在版本控制系统中实现这个like-diff功能。如何在web应用程序中执行此操作 另外,我不想只把这些文件存储在VCS中,然后让它做不同的事情。但是,如果我能在没有VCS的情况下模拟VCS,那就太酷了 另外,我知道有一些JS框架提供差异功能,但是XML可能有10MB,所以我认为它不应该在服务器端。似乎有相当多的开源XML差异项目是用Java编写的。我建议您

我有XML(或对象),它表示业务流程中某个点的数据。我希望能够看到step1和step5之间发生了什么变化(相同XML或对象的两个版本)。我想在版本控制系统中实现这个like-diff功能。如何在web应用程序中执行此操作

另外,我不想只把这些文件存储在VCS中,然后让它做不同的事情。但是,如果我能在没有VCS的情况下模拟VCS,那就太酷了


另外,我知道有一些JS框架提供差异功能,但是XML可能有10MB,所以我认为它不应该在服务器端。

似乎有相当多的开源XML差异项目是用Java编写的。我建议您查看一下它们,看看您是否能够以某种方式将它们应用到您的项目中,从而生成一个预先格式化的HTML结果


即使您的业务流程被序列化为XML,但我想知道它是否是业务流程的经典基于图形的表示(节点作为步骤,顶点作为转换,就像BPMN一样)。在这种情况下,你应该考虑比较两个对象——Grave1和Grase2,并标识新的/已删除的/完整的节点和顶点。它不是重复的,这里有两个字符串,这里有10MB字符串。@ ARTURS LICIS,但是如果我有两个对象图,我仍然需要编写复杂的差异图。如果我不能找到一些现有的解决方案,我会这样做。