【问题标题】:How to get mercurial commit sequence number in a branch如何在分支中获取 mercurial 提交序列号
【发布时间】:2012-03-08 21:26:32
【问题描述】:

我想检索提交订单号,仅计算特定分支(主)的提交。 由于每台机器/存储库上的分支“master”都是相同的,因此这将允许我: 1.无论存储库如何,都具有相同的编号 2. 在版本字符串中使用这个数字。

那么,有没有办法做到这一点?

【问题讨论】:

  • 只是兴趣:为什么不是latesttag+latesttagdistance?
  • 不知道,第一次见。现在将调查
  • 分支上的提交顺序仍然可能因存储库而异,具体取决于提交/拉取分支的各个分支的顺序。
  • 无法想象这一点。怎么可能?

标签: mercurial branch version commit


【解决方案1】:

即使您将自己限制在一个命名的分支上,您的想法也不会奏效。正如 Ry4an 所提到的,问题在于该分支上变更集的顺序由hg pushhg pull 的顺序决定。因此,您很容易会遇到以下情况:

@ 分支:master,变更集:5:f5b6808f2f04,摘要:合并 |\ | o 分支:master,变更集:4:2b7bdcc98a88,摘要:mmm | | ○ |分支:master,变更集:3:6b60342a01a6,摘要:mm |/ o 分支:master,变更集:2:f39fa3fa1aaf,摘要:m | o 分支:master,变更集:1:4dd5e8ae6481,摘要:创建 master | o 分支:默认,变更集:0:68b4eb1ca123,摘要:a

在一个存储库中,但是

@ 分支:master,变更集:5:f5b6808f2f04,摘要:合并 |\ | o 分支:master,变更集:4:6b60342a01a6,摘要:mm | | ○ |分支:master,变更集:3:2b7bdcc98a88,摘要:mmm |/ o 分支:master,变更集:2:f39fa3fa1aaf,摘要:m | o 分支:master,变更集:1:4dd5e8ae6481,摘要:创建 master | o 分支:默认,变更集:0:68b4eb1ca123,摘要:a

在另一个。请注意 mmmmm 变更集是如何在两个存储库中交换的。

只有当分支在两个存储库中具有相同的头时,您才能谈论每个存储库中的“分支相同”。如果是这样的话,那么,正如 Lazy 所建议的,一个简单的

hg log -b master --template "." | wc -m

将在两个存储库中给出相同的计数。

【讨论】:

    【解决方案2】:

    例如hg log -b master --template "." | wc -m

    输出当前分支中的变更集数量

    【讨论】:

      猜你喜欢
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      相关资源
      最近更新 更多