代码之家  ›  专栏  ›  技术社区  ›  Aaron Digulla

我怎样才能用Hudson构建一个用Mercurial标记的版本?

  •  1
  • Aaron Digulla  · 技术社区  · 14 年前

    我正在使用Hudson从我的Mercurial资源库构建我的项目。有两个任务:一个构建技巧,另一个构建最新版本。当我标记一个发布,然后在字段“branch”中使用该标记时,我会得到以下错误:

    [workspace] $ hg update --clean --rev Release_1_2_beta1
    abort: unknown revision 'Release_1_2_beta1'!
    

    当我在本地副本中运行相同的命令时,它会工作。当我克隆它的时候,它也会起作用。它在哈德逊河上断裂的原因是什么?

    2 回复  |  直到 11 年前
        1
  •  3
  •   Ry4an Brase    14 年前

    你所做的一切都不是天生的错误,但我想我是根据如何跟踪反复无常的标签来推测的。是否有可能使用 --rev 也是吗?

    这种命令模式不起作用:

    % hg init test
    
    % echo this > test/file
    
    % hg -R test commit --addremove --message 'a commit'
    adding file
    
    % hg -R test tag mytag
    
    % hg clone --rev mytag test test-clone
    
    % hg -R test-clone update --rev mytag
    abort: unknown revision 'mytag'!
    

    不起作用的原因是 clone --rev 将所有设置为并包括标记指向的更改集 mytag 但它不会带来实际创建名为 米塔格 .

    如果这是问题所在(而且只是猜测),那么您要么需要克隆所有内容,要么 hg update tip .

    如果不是这样的话,看看你的 .hgtags 归档并验证其中是否存在标记。

        2
  •  1
  •   R. Oosterholt Alex Vayda    11 年前

    直到今天,Jenkins(Hudson)的Mercurial插件还不支持 tags .

    对我有用的一种方法是在作业中配置“默认”分支,并将“windows命令”或“shell脚本”配置为执行以下操作的第一个生成步骤: hg update -r TAGNAME