我在通过计时器推送更改后运行了一些脚本,并且它们在使用正确的头部时工作正常,但在那些已经完成的情况下强制构建没有成功。正在使用相同的从站。以下是master.cfg
,
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指定它?我是否在回购中添加了适当的步骤?
答案 0 :(得分:1)
在添加 alwaysUseLatest = True 之前,我遇到了同样的问题。在你的情况下,我想你可以使用:
repository = Mercurial(
repourl=repo,
branchType='inrepo',
defaultBranch='devel',
alwaysUseLatest=True
)
答案 1 :(得分:0)
--rev
参数来自修订版,或者如果为空,则来自源标记中指定的分支。强制建立时可以指定其中任何一个。
另一方面,如果按下重建按钮,在查看特定构建时,在特定构建中构建的修订将用于强制构建。