使用XML差异和合并进行版本控制

使用XML差异和合并进行版本控制,xml,merge,controls,diff,version,Xml,Merge,Controls,Diff,Version,我正在寻找一个开源版本控制工具,它可以区分和合并XML文件 我要找到这样一个工具的困难在于,我需要一个比较节点而不是行的XML文件的正确合并 有什么想法吗? 谢谢 我过去用过的东西是。对于svn或git之类的VCS,您可能可以将其用作diff命令。不幸的是,对于这个问题,没有一种通用的解决方案。XML扩散对你认为不同的东西非常敏感。在一种情况下,子节点的顺序可能很重要,而在另一种情况下(甚至在同一个文件中),它可能无关紧要 看一看。尽管它的目标是单元测试,但它是一个完整的XML差异引擎。您必须告

我正在寻找一个开源版本控制工具,它可以区分和合并XML文件

我要找到这样一个工具的困难在于,我需要一个比较节点而不是行的XML文件的正确合并

有什么想法吗?
谢谢

我过去用过的东西是。对于svn或git之类的VCS,您可能可以将其用作diff命令。

不幸的是,对于这个问题,没有一种通用的解决方案。XML扩散对你认为不同的东西非常敏感。在一种情况下,子节点的顺序可能很重要,而在另一种情况下(甚至在同一个文件中),它可能无关紧要

看一看。尽管它的目标是单元测试,但它是一个完整的XML差异引擎。您必须告诉它(在代码中)如何确定两个节点符合比较条件,然后如何处理发现的所有潜在差异(即它们在应用程序中是否真实)。它检测“差异事件”的详尽列表,包括

  • 属性顺序
  • 属性数
  • 子节点顺序
  • 子节点数
  • 隐式与显式属性值
  • 评论分歧
  • doctype差异
  • 名称空间差异

还有一大堆。其中任何一项对您的应用程序都可能是重要的或不重要的,只有您可以决定。它值得一看,但要得到你想要的东西需要一些工作。

你正在寻找一个差异工具,它只是VCS的一个子集。所有VCS都可以使用外部程序来区分文件。由于外部diff工具可以是任何东西,因此它也可以是您编写的脚本,该脚本专门用于解析和比较两个xml文档


我不知道这是否会让你更容易找到你想要的东西,但它可能会。

正如其他人指出的那样,你只需要一个好的差异工具,而不是vcs


不幸的是,我还没有听说过任何支持xml的图形差异工具。因此,我会使用一个常规的diff工具,比如(winmerge或k3diff),然后我会使用您喜欢的任何xml验证工具来验证合并产生的xml。

对于虚拟/懒惰用户来说,它应该是一个简单的多功能工具。API或控制台程序不适合。它看起来真的不存在于开源世界中

Clearcase可以做到,但太贵了。可以合并,但也不是免费的。

旨在解决这个确切的问题:通过SCM软件比较和合并XML文件


恐怕它也不是免费的,但它比其他声称能够比较和合并XML的工具要便宜得多。

可能的解决方案:,您可能应该将其转化为问题更新部分。这不是一个答案。控制台程序是完美的,只要它只需要一个命令