Mercurial 如何更改标记的名称?

Mercurial 如何更改标记的名称?,mercurial,Mercurial,我在mercurial中制作了一个标签: hg tag release_123 后来我发现名字错了,应该是release\u 124。是否可以简单地重命名标记,或者我必须创建一个新标记?您应该能够在.hgtags文件中进行编辑(并提交它) “常规”标记(没有特殊的说明符)受版本控制,会随着其他更改传播,并存在于存储库中的.hgtags文件中 这提到你需要在回购协议的所有标题中都这样做。我会删除标签,然后用新名称添加一个新标签 说明了如何删除标记: 如何删除标签? 或者 hg标记--删除标记名

我在mercurial中制作了一个标签:

hg tag release_123

后来我发现名字错了,应该是
release\u 124
。是否可以简单地重命名标记,或者我必须创建一个新标记?

您应该能够在
.hgtags
文件中进行编辑(并提交它)

“常规”标记(没有特殊的说明符)受版本控制,会随着其他更改传播,并存在于存储库中的
.hgtags
文件中


这提到你需要在回购协议的所有标题中都这样做。

我会删除标签,然后用新名称添加一个新标签

说明了如何删除标记:

如何删除标签? 或者

  • hg标记--删除标记名
(这是与cvs标记-d最接近的等效项)

  • 将标记名0000000000000000000000000000添加到末尾 属于
    .hgtags

  • 删除
    .hgtags
    中对
    标记名的所有引用(但这可能会
    混淆多头标签冲突解决算法)


就像@matt ellen所说的,但恰恰相反。因为我喜欢在删除旧标记之前确保修订正确标记

在这里,我创建了一个带有4个修订版的回购协议示例

  • 查看日志
  • 查看标记(无和提示)
  • 在修订版#2处创建标记(使用哈希)
  • 视图标记(现在有一个,提示)
  • 创建新的标记名
  • 视图标记(现在有两个和提示)
  • 删除错误的标记名
  • 视图标记(现在有一个,提示)
  • 例如:

    $ hg log
    
    changeset:   3:271cb2836c23
    user:        user <you@example.com>
    date:        Sat Mar 01 13:49:55 2014 -0600
    summary:     Very important things.
    
    changeset:   2:3c953ee62faf
    user:        user <you@example.com>
    date:        Wed Feb 26 00:17:55 2014 -0600
    summary:     Did some changes.
    
    changeset:   1:54e2275eed1e
    user:        user <you@example.com>
    date:        Tue Feb 25 01:34:31 2014 -0600
    summary:     So, lots of things here.
    
    changeset:   0:3f3e1aee4e14
    user:        user <you@example.com>
    date:        Sat Feb 22 00:42:29 2014 -0600
    summary:     Inital project checkin.
    
    $ hg tags
    tip          3:271cb2836c23
    
    $ hg tag -r 3c953ee62faf release_123
    $ hg tags
    tip           3:271cb2836c23
    release_123   2:3c953ee62faf
    
    $ hg tag -r 3c953ee62faf release_124
    $ hg tags
    tip           3:271cb2836c23
    release_123   2:3c953ee62faf
    release_124   2:3c953ee62faf
    
    $ hg tag --remove release_123
    $ hg tags
    tip           3:271cb2836c23
    release_124   2:3c953ee62faf
    
    $hg日志
    变更集:3:271cb2836c23
    用户:用户
    日期:2014年3月1日星期六13:49:55-0600
    总结:非常重要的事情。
    变更集:2:3c953ee62faf
    用户:用户
    日期:星期三2014年2月26日00:17:55-0600
    小结:做了一些改变。
    变更集:1:54e2275eed1e
    用户:用户
    日期:2014年2月25日星期二01:34:31-0600
    总结:这里有很多东西。
    变更集:0:3f3e1aee4e14
    用户:用户
    日期:星期六2014年2月22日00:42:29-0600
    小结:初始项目签入。
    $hg标签
    提示3:271cb2836c23
    $hg标签-r 3c953ee62faf发布号\u 123
    $hg标签
    提示3:271cb2836c23
    释放2:3c953ee62faf
    $hg标签-r 3c953ee62faf发布版\u 124
    $hg标签
    提示3:271cb2836c23
    释放2:3c953ee62faf
    释放2:3c953ee62faf
    $hg标签--删除版本号_123
    $hg标签
    提示3:271cb2836c23
    释放2:3c953ee62faf
    
    我一直在寻找解决同一问题的方法:我发现这个命令可以创建另一个标签,该标签是从上一个标签复制而来的,并带有一个新名称。但它并没有移除旧的。它必须手动删除

    重命名标记:

    hg标签-f-r

    要删除旧标记,请执行以下操作:

    hg标签-删除


    如果您使用的是陆龟,它非常简单:

    案例#1如果是本地标记:右键单击标记的更改集|标记…|选择标记|选项|替换现有标记|完成<本地标记将消失>

    案例#2如果其全局标记:右键单击标记的更改集|标记…|选择标记|选项|替换现有标记|删除
    现在选择change set并创建新标记(类似于重命名的标记)。一点也不需要:-)

    有什么理由不使用第一个吗?@andythonas不是我所知道的。很好,非常简单的解决方法。