Mercurial命令行“API”参考?

时间:2010-09-07 16:15:39

标签: mercurial

我正在开发一个Mercurial GUI客户端,它通过命令行(首选的高级API,据我所知)与hg.exe进行交互。

但是,我无法确定每个命令的可能输出。我可以通过模拟情况看到几个输出,但我想知道是否有完整的参考可用于每个命令的输出。

例如,对于命令hg fetch,一些可能的输出是:

pulling from https://User@server.com/Repo
searching for changes
no changes found

如果没有变化,或者:

abort: outstanding uncommitted changes

或其他一些消息,具体取决于具体情况。

我想构建我的程序以尽可能多地处理这些案例,但我很难事先知道它们是什么。

是否有命令行的文档参考?我无法在Google上找到一个。

3 个答案:

答案 0 :(得分:1)

查看翻译字符串文件。然后你会知道你处理了所有的信息,并且能够看到它的哪些部分有所不同。

此外,fetch只是一个关于pull / update / merge的便利包装器。如果你以编程方式调用mercurial,你可能希望在运行它时将这三个截然不同的概念分开,这样你就知道哪个部分失败了。在上面的示例中,“更新”失败,因此“拉”将成功,“更新失败”将允许您向用户提供更好的消息。

(获取是令人厌恶的,这是默认禁用它的部分原因)

答案 1 :(得分:0)

答案 2 :(得分:0)

Mercurial 1.9带来了command server,一个稳定的(从某种意义上说,API没有那么大的变化)和低开销(不需要为每个命令运行hg进程)。通过管道进行通信。