gpt4 book ai didi

mercurial - 如何移动标签?

转载 作者:行者123 更新时间:2023-12-04 09:25:34 25 4
gpt4 key购买 nike

我想开始在 Mercurial 中使用标签。我计划有一个“稳定”标签,它总是指向最后一个好的修订版。

据我了解,我可以通过 hg tag stable 标记当前变更集.

移动标签的正确方法是什么? 当我尝试运行时 hg tag stable它再次告诉我:

abort: tag 'stable' already exists (use -f to force)



如果我强制它,我会得到 this bug没有决议或意见。即,它复制了旧标签。我什至不知道为什么标签首先需要多次出现在那里;我只想更新它以指向单个变更集。

最佳答案

我还没有看到这样的标签移动操作,但它本质上是在复制一些东西并删除原来的东西,所以:

hg tag --remove stable
hg tag -r newrevisionhash stable

或者在你的标签上附加某种后缀,比如版本号。它还可以让您跟踪您的发布。

意见 1:我一直认为 Mercurial 更多的是关于保存历史,而在 git 下你可以改变一些东西,在 Mercurial 中你必须改写它。

意见 2:标记稳定版本的另一种选择是将它们保留在一个分支中。我工作的地方 default只保存稳定的代码。所有其他工作都在孤立的分支中完成。

更新标签的脏单行:
current=`hg log -l1 --template '{node}'`; hg tag --remove stable; hg tag -r $current stable

似乎这种暴行甚至可以在 .hgrc 中添加为 Mercurial 别名。 :
[alias]
movetag=!(current=`hg log -l1 --template '{node}'`; $HG tag --remove stable; $HG tag -r $current stable)

我捕获了当前提示的值,因为标记删除/添加本身就是提交,因此它们会“移动”提示(标记 tip 看不出任何错误——这只是为了精确起见)。当然有可能让它更漂亮,但那些对我有用。

关于mercurial - 如何移动标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18340078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com