我想尝试构建类似于变化莫测的客户端。我搜索了一个官方的API,我发现这个页面https://www.mercurial-scm.org/wiki/MercurialApi,它描述了一个API,但是非常不鼓励人们依赖它。此外,上面的页面还在某个地方声明
对于绝大多数第三方代码来说,最好的方法是使用Mercurial发布的、文档化的和稳定的API:命令行接口。
那么,解析各种mercurial命令的输出是最好的方法吗?我并不害怕做这样的事情,但困扰我的是,这些命令的输出在未来会发生微小的变化,这可能会破坏我的代码。
是否有其他方法,或者您只是依赖于CLI,如果它发生了变化,您只需进行调整即可?
发布于 2013-06-22 05:26:26
只需依靠CLI。此外,您还可以将hg的特定版本打包到客户端,这样您就可以控制所使用的版本。但是,在这样做之前,您应该研究一下许可证的含义。从https://www.mercurial-scm.org/wiki/License开始
发布于 2013-06-22 11:07:24
一个中间选项是使用命令服务器,它使用命令行API,但避免了一些简单包装会导致的问题。
有各种各样的客户端;hglib是Python实现,JavaHg是Java库。我相信JavaHg还具有高级功能,可以为您进行输出解析和交互。
https://stackoverflow.com/questions/17247538
复制相似问题