gue*_*ate 12
我没有看到这样的标签'移动'操作,但它本质上是复制一些东西并删除原始的,所以:
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
似乎这种暴行甚至可以作为mercurial别名添加到.hgrc:
[alias]
movetag=!(current=`hg log -l1 --template '{node}'`; $HG tag --remove stable; $HG tag -r $current stable)
我捕获当前提示的值,因为标签删除/添加本身是提交,因此它们"移动"提示(不能看到标记有任何错误tip- 它仅用于精确度).肯定有可能使它更漂亮,但那些对我有用.
您应该使用命名分支,而不是使用移动的标记.它们的功能几乎就像移动标签.
你在上面的评论中写道
所有工作都在其他分支上完成,但是当它们准备就绪时我们将它们合并为"默认",然后执行集成测试.如果合并不好,有一段时间"默认"可能会变得很复杂.因此,我希望在默认情况下保持稳定的标记,并且仅在完成/验证集成测试后移动它.
要解决这个问题,你需要一个额外的命名分支 - 调用它stable.然后合并的测试和批准的变更default到stable你自己的步伐.如果default还有仍在测试的变更集,那么当变更集X通过测试时,你就可以了
$ hg update stable
$ hg merge X
将X推广为稳定的变革集.X(on default)的后代保持不变,即它们尚未标记稳定.
| 归档时间: | 
 | 
| 查看次数: | 10315 次 | 
| 最近记录: |