buildbot没有更新mercurial到最新的forcebuilds头

时间:2012-02-02 21:40:53

标签: testing mercurial buildbot

我在通过计时器推送更改后运行了一些脚本,并且它们在使用正确的头部时工作正常,但在那些已经完成的情况下强制构建没有成功。正在使用相同的从站。以下是master.cfg

中的pull / update包装命令
def repo_update( conf ):
    repo = "ssh://buildbot@repo//Users/buildbot/repo"
    repository = Mercurial( repourl=repo, branchType='inrepo', defaultBranch='devel')
    conf.addStep( repository )
    return

在日志中,它执行以下命令,

/usr/local/bin/hg pull --verbose ssh://buildbot@repo//Users/buildbot/repo
/usr/local/bin/hg identify --num --branch
/usr/local/bin/hg paths default
/usr/local/bin/hg update --clean --repository build --rev 15f87a21bf8aa00d642c2ebbd73a6da161815eaa
/usr/local/bin/hg identify --id --debug

两个日志都有相同的命令列表,并且执行正常。但是,在forcebuild中,脚本对--rev有一个不同的论点 - 更老的头;我甚至不确定抓取那个号码的位置,在脚本或日志中的任何其他位置都没有提到,必须来自服务器,但是如何指定头或NOT指定它?我是否在回购中添加了适当的步骤?

2 个答案:

答案 0 :(得分:1)

在添加 alwaysUseLatest = True 之前,我遇到了同样的问题。在你的情况下,我想你可以使用:

repository = Mercurial(
    repourl=repo, 
    branchType='inrepo',
    defaultBranch='devel', 
    alwaysUseLatest=True
)

答案 1 :(得分:0)

--rev参数来自修订版,或者如果为空,则来自源标记中指定的分支。强制建立时可以指定其中任何一个。

另一方面,如果按下重建按钮,在查看特定构建时,在特定构建中构建的修订将用于强制构建。