【问题标题】:How do I find out which changeset added a tag?如何找出哪个变更集添加了标签?
【发布时间】:2016-12-15 04:39:10
【问题描述】:

如果我调用hg tag test,那么hg id -r test 返回标签指向的变更集,但标签实际上是由后续提交添加的。

如何查找实际添加标签的变更集(与标签指向的变更集相反)?

假设它永远是hg id -r <tag> 的孩子是否安全?

【问题讨论】:

  • 我认为假设它始终是标记 rev 的直接子项是制作标记的提交是不安全的,因为标记非 head rev 表明这不是真的。我想您可以对 .hgtags 文件进行 hg 注释并查找包含该标记的行。
  • @Tom 这是个好主意。当我们讨论这个话题时,您能想出一种更简单的方法来实现 stackoverflow.com/q/41156418/14731 吗?

标签: mercurial


【解决方案1】:

假设一个带标签的变更集只有一个孩子(添加标签的那个),那么以下命令将获取添加标签的变更集:

// Get the changeset that the tag points to
def referenced = $(hg id -q -r ${tag})

// Get the changeset that added the tag
def addedTag = $(hg log -r children(${referenced}) --template {node})

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 2011-09-26
    • 2013-03-26
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    相关资源
    最近更新 更多