如何获得Mercurial中的提交摘要

时间:2013-04-25 04:49:01

标签: mercurial

我想通过以下信息获取提交摘要

  • 工作天数,开始日期和时间;结束日。
  • 按天计算的活动摘要 - 只是提交的数量&行数改变了。

有延伸吗?

2 个答案:

答案 0 :(得分:9)

hg help log + hg help diff + hg help revsets + hg help templating hg help dates + bash

  • 首次提交日期|最后提交

初始提交始终为rev 0,最新提示始终为

hg log -r 0 --template "{date|date}\n"

hg log -r tip --template "{date|date}\n"

  • 工作天数:提交次数非零的天数

hg log --template "{date(date,'%d%m%y')}\n" | sort -u | wc -l

  • 按天计算的活动摘要 - 只是提交次数

hg log -r "date('YYYY-MM-DD')" --template "{.}\n" | wc -l

线条数量发生变化(第一次丑陋的草稿迭代:“feci quod potui,faciant meliora potentes”)

hg diff --stat -r "first(date('YYYY-MM-DD'))" -r "last(date('YYYY-MM-DD'))"

此类差异的示例输出

 404.php        |    4 +-
 comments.php   |   14 +-----
 footer.php     |    2 +-
 functions.php  |   24 +++++++++-
 header.php     |    2 +-
 readme.txt     |   38 +++++++++++++++++
 screenshot.png |  Bin
 search.php     |   12 +++-
 sidebar.php    |   45 ++------------------
 style.css      |  121 +++++++++++++++++++++++++++----------------------------
 10 files changed, 139 insertions(+), 123 deletions(-)

注意: YYYY-MM-DD是占位符,您必须将此格式的真实日期写入命令

注2:准备和测试结果的时间不到一小时!!!

答案 1 :(得分:6)

LazyBadger's answer为您提供了查找第一次和最后一次提交日期的方法。有关已提交的每日更改集的数量和代码行的更改细分,请启用Mercurial附带的churn extension。在全局或存储库配置中:

[extensions]
churn=

然后按时间顺序细分变更集的数量:

$ hg churn --template "{date|shortdate}" --sort --changesets

或代码行:

$ hg churn --template "{date|shortdate}" --sort

使用可选diffstat分别显示添加/删除的行:

$ hg churn --template "{date|shortdate}" --sort --diffstat

检查hg help churn以获取更多选项,例如限制日期范围或考虑的更改集。