我想检索提交订单号,只计算特定分支(主)的提交。 由于每个机器/ repo上的分支“master”是相同的,因此这将允许我: 1.无论存储库是什么,都具有相同的编号 2.在版本字符串中使用此编号。
那么,有没有办法实现这个目标?
答案 0 :(得分:3)
hg log -b master --template "." | wc -m
输出当前分支中的变更集数量
答案 1 :(得分:2)
你的想法不会奏效,即使你只限于一个命名的分支。正如Ry4an所提到的,问题是该分支上的变更集的顺序由hg push
和hg pull
的顺序决定。所以你很容易就会遇到这样的情况:
@ branch: master, changeset: 5:f5b6808f2f04, summary: merge |\ | o branch: master, changeset: 4:2b7bdcc98a88, summary: mmm | | o | branch: master, changeset: 3:6b60342a01a6, summary: mm |/ o branch: master, changeset: 2:f39fa3fa1aaf, summary: m | o branch: master, changeset: 1:4dd5e8ae6481, summary: create master | o branch: default, changeset: 0:68b4eb1ca123, summary: a
在一个存储库中,但
@ branch: master, changeset: 5:f5b6808f2f04, summary: merge |\ | o branch: master, changeset: 4:6b60342a01a6, summary: mm | | o | branch: master, changeset: 3:2b7bdcc98a88, summary: mmm |/ o branch: master, changeset: 2:f39fa3fa1aaf, summary: m | o branch: master, changeset: 1:4dd5e8ae6481, summary: create master | o branch: default, changeset: 0:68b4eb1ca123, summary: a另一个。请注意两个存储库中
mm
和mmm
变更集的交换方式。
只有当分支在两个存储库中具有相同的头时,您才可以在每个存储库中讨论“分支是相同的”。如果是这种情况,那么,正如Lazy所建议的那样,一个简单的
hg log -b master --template "." | wc -m
将在两个存储库中给出相同的计数。