我正在尝试解析hg log
的输出。到目前为止,我只是做了一些简单的事情:
$arg_sep = '|||';
$entry_sep = ';;;';
$log = shell_exec("hg log -l 5 --template \"{rev}$arg_sep{node}$arg_sep{author}$arg_sep{date|hgdate}$arg_sep{parents}$arg_sep{files}$arg_sep{desc}$entry_sep\"");
然后爆炸它。我预计文件会出现问题。它们似乎是空间分离的。如果文件实际上包含空格怎么办,我该如何解析呢?
我可以以更易解析的格式获取日志吗? JSON会很好,但我似乎无法找到任何一个。
答案 0 :(得分:3)
试试这个:
hg log --verbose --style=xml
它不是JSON,但它具体可解析,并且有简单的命令行工具来提取XML值。
答案 1 :(得分:1)
查看http://www.selenic.com/mercurial/hg.1.html#template-usage
你可以尝试
hg log -l 5 --style xml
然后尝试解析生成的xml。