【问题标题】:How to get log for head of current branch?如何获取当前分支负责人的日志?
【发布时间】:2014-07-31 15:44:40
【问题描述】:
我可以通过
获得当前分支的负责人
hg head .
然后,我可以通过将该命令输出中的变更集 ID 复制并粘贴到该命令中来获取我需要的数据:
'hg' 'log' --'limit' '1' --'style' 'xml' --'verbose' --'rev' 'ac99e18fbca1'
问题是我需要以编程方式执行此操作,并且我不想解析hg head . 的输出。那么,我可以:
- 使用单个命令执行此操作?我在 revsets 中找不到任何可行的方法。
- 格式化
hg head . 给我只是变更集ID?
【问题讨论】:
标签:
mercurial
mercurial-revsets
【解决方案1】:
- 您可以在日志中使用任何可用的 cset-id,而不仅仅是短哈希
hg head . 的修订集(在匿名分支的情况下可能会产生多个变更集)
hg log -l 1 --style xml -v -r "heads(branch(.))"
对于您的任务来说是完全有效且始终可用的单个命令
head 输出中只有 changeset-hash 类似于
hg head . --template "{node|short}\n"
测试用例:
标准头
>hg head .
changeset: 39:dc3bad781bc5
tag: tip
user: Ray Bream <...>
date: Fri Aug 16 16:35:17 2013 +0600
summary: ***
同一个 repo 的模板化头
>hg head . --template "{node|short}\n"
dc3bad781bc5
【解决方案2】:
刚刚注意到head 接受--style 参数。
hg head . --style xml --verbose