如何以编程方式合并文本文件与潜在的冲突(ala git或svn等)?

dre*_*www 10 python diff merge command-line text

作为一个更大的项目的一部分,我希望能够获取两个文本体并将它们交给合并算法,该算法返回自动合并的结果(在更改不冲突的情况下)或抛出错误和(可能)生成单个文本文档,突出显示冲突的更改.

基本上,我只是想要一种程序化的方式来完成地球上每个源控制系统的内部工作,但我很难找到它.有很多可视化的GUI用于执行这种主导我的搜索结果的东西,但它们似乎都不容易访问核心合并算法.每个人都依赖于一些常见且易于理解的算法/库,我只是不知道这个名字,所以我很难找到它吗?这是对diff的一些细微调整吗?我应该寻找差异库而不是合并库?

Python库是最有帮助的,但如果必须的话,我可以忍受与其他库(或命令行解决方案)接口的开销.这种操作应该相对不常见.

And*_*Dog 10

您可能正在搜索合并算法,如3路合并,您可以在许多开源项目中找到它,例如在集市VCS(merge3.py源)中.