我想检索提交订单号,只计算特定分支(主)的提交。 由于分支“master”在每台机器/ repo上都是一样的,那么这将允许我: 1.无论存储库是否具有相同编号 2.在版本字符串中使用此编号。如何获得一个分支中的mercurial commit序号
那么,有没有办法做到这一点?
我想检索提交订单号,只计算特定分支(主)的提交。 由于分支“master”在每台机器/ repo上都是一样的,那么这将允许我: 1.无论存储库是否具有相同编号 2.在版本字符串中使用此编号。如何获得一个分支中的mercurial commit序号
那么,有没有办法做到这一点?
hg log -b master --template "." | wc -m
例如
输出分支
谢谢! U R天才:) – 2012-02-17 15:20:06
你的点子不会工作当前量变更的,即使你限制自己到一个名为分支。正如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在另一个
。请注意0和mmm
变更集在两个存储库中是如何交换的。
只有当分支在两个存储库中的头都相同时,您才可以在每个存储库中讨论“分支是相同的”。如果是这样的话,那么,由懒惰建议,一个简单的
hg log -b master --template "." | wc -m
将给予相同的计数在这两个仓库。
只是感兴趣:为什么不是latesttag + latesttagdistance? – 2012-02-17 15:07:33
不知道,第一次看到它。现在将调查 – 2012-02-17 15:22:30
取决于分支的各种分支被提交/拉取的顺序,分支上的提交顺序仍可能不同于存储库。 – 2012-02-17 17:55:33