我正在尝试使用exist-db作为版本控制的用途。有什么办法列出这些差异吗?
我启用了exist-db中的版本控制,并上传了一个json文件,并对该文件进行了一些更改。现在,有两个版本的文件可用的版本。我如何获得/列出这两个版本之间的差异?
发布于 2016-02-21 13:27:13
在“版本控制”前缀命名空间中有一个XQuery模块,允许您在不同版本上执行各种查询。
版本控制模块在eXist 2.2之后从eXist代码库中删除,因为它包含GPL许可代码,这与eXist的LGPL许可证不兼容。
现在可以在这里找到版本控制模块的代码:https://bitbucket.org/zwobit/versioning/src/7e177a5f3cf8ad6980a502eb5a0c20cf136e7a7c/src/main/java/org/exist/versioning/xquery/?at=develop
如果您查看versioning.xqm、DiffFunction.java和PatchFunction.java,您可以看到可以从XQuery调用的函数。
不过,据我所知,您无法区分JSON文档,因为eXist只为XML提供了差异。相反,版本控制模块将JSON文档视为二进制文档,因此是不可变的,对文档的每次更改都会生成一个全新的文档(这可能正是您所需要的)。
没有什么可以阻止您从XQuery调用GNU (通过流程模块)并通过它传递两个JSON文档。
https://stackoverflow.com/questions/35424206
复制相似问题