Парсабельный формат журнала Hg - PullRequest
0 голосов
/ 21 февраля 2012

Я пытаюсь разобрать вывод 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 было бы неплохо, но я не могу найти что-нибудь об этом.

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

Попробуйте это:

hg log --verbose --style=xml

Это не совсем JSON, но он конкретно разбирается и есть простые инструменты командной строки для извлечения значений XML.

1 голос
/ 21 февраля 2012

Выезд http://www.selenic.com/mercurial/hg.1.html#template-usage

Вы можете попробовать

hg log -l 5  --style xml

, а затем попробуйте разобрать полученный xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...