是否可以使用带参数的简单命令行计算Mercurial / Git更改集的数量?
答案 0 :(得分:11)
对于mercurial,只需检查'tip'的数字版本ID(定义为编号最高的版本):
$ hg id --num --rev tip
97
答案 1 :(得分:3)
我会看看Mercurial附带的churn extension。它允许您计算每个开发人员或每个时间段的变更集数量。它看起来像这样:
$ hg churn -s -c -f "%Y-%m"
2005-05 208 *****************************
2005-06 341 ***********************************************
2005-07 271 *************************************
...
如果您只想知道与给定revision set匹配的变更集的数量,请像其他人一样使用hg log
和wc
:
$ hg log -r "user(geisler) and date('>2010')" --template x | wc -c
735
答案 2 :(得分:2)
git
:
git log --pretty=oneline | wc -l
将为您提供当前分支上所有提交的计数,返回原始提交。
获取所有分支上所有提交的计数:
git log --pretty=oneline --all | wc -l
答案 3 :(得分:0)
是的,这个问题确实很老了,但是这是获取git提交计数的一种更加git-native的方法。我目前正在使用git 2.15,但我不知道它已经存在多久了。
git rev-list --all --count
针对所有分支机构总计,或
git rev-list HEAD --count
HEAD(或其他任何变更集)的祖先。
答案 4 :(得分:0)
尽管这个问题已经很老了,但这是我的快速解决方案:
hg log | grep changeset | wc -l
(当然,只有在没有人在提交消息中写入变更集的情况下,这样才能起作用)
说明:
hg log
以以下格式返回信息:
changeset: 232351:06d3053eg093
branch: default/XXXXXX
bookmark: hg
tag: tip
user: User
date: Thu Feb 20 10:22:30 2020 +0100
summary: XXXXXX: cleanup in test
仅夹持其中一行,然后对行进行计数即可得出计数。