我正在开发一个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上找到一个。
答案 0 :(得分:1)
查看翻译字符串文件。然后你会知道你处理了所有的信息,并且能够看到它的哪些部分有所不同。
此外,fetch只是一个关于pull / update / merge的便利包装器。如果你以编程方式调用mercurial,你可能希望在运行它时将这三个截然不同的概念分开,这样你就知道哪个部分失败了。在上面的示例中,“更新”失败,因此“拉”将成功,“更新失败”将允许您向用户提供更好的消息。
(获取是令人厌恶的,这是默认禁用它的部分原因)
答案 1 :(得分:0)
答案 2 :(得分:0)
Mercurial 1.9带来了command server,一个稳定的(从某种意义上说,API没有那么大的变化)和低开销(不需要为每个命令运行hg进程)。通过管道进行通信。