什么是mercurial API的最佳方法

时间:2013-06-22 05:13:49

标签: api mercurial client command-line-interface

我想尝试构建类似于mercurial客户端的东西。我搜索了一个官方API,我找到的是这个页面https://www.mercurial-scm.org/wiki/MercurialApi,它描述了一个API,但却极力阻止人们依赖它。此外,上面的页面在某些地方陈述

  

对于绝大多数第三方代码,最好的方法是使用   Mercurial发布,记录并稳定的API:命令行   接口

那么解析各种mercurial命令的输出的最佳方法是什么?我并不害怕做这样的事情,但让我感到困扰的是,这些命令的输出在未来会稍微改变,这可能会破坏我的代码。

是否有其他方法,或者您只是依赖于CLI,如果它发生了变化,您只需适应?

2 个答案:

答案 0 :(得分:1)

只需依赖CLI。此外,您可以将特定版本的hg打包到您的客户端,以便您可以控制您正在使用的版本。但是,在执行此操作之前,您应该调查其许可证含义。从https://www.mercurial-scm.org/wiki/License

开始

答案 1 :(得分:1)

中间选项是使用command server,它使用命令行API,但避免了一些天真的包装会导致的问题。

这有各种各样的客户; hglib是一个Python实现,JavaHg是一个Java库。我相信JavaHg还具有为您进行输出解析和交互的高级功能。