0

変更がタイマーを介してプッシュされた後にいくつかのスクリプトを実行し、適切なヘッドを使用して正常に機能しましたが、それらが完了したの強制ビルドは成功しませんでした。同じスレーブが使用されています。これは、プル/更新のラッパー コマンドです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--an old head;に対して別の引数を持っています。その番号をどこで取得しているのかさえわかりません。スクリプトまたはログの他の場所には言及されていません。サーバーから来ているに違いありませんが、どのようにヘッドを指定するか、指定しないのですか? レポに適切なステップを追加していますか?

4

2 に答える 2

1

alwaysUseLatest=Trueを追加するまで、同じ問題がありました。あなたの場合、次を使用できると思います:

repository = Mercurial(
    repourl=repo, 
    branchType='inrepo',
    defaultBranch='devel', 
    alwaysUseLatest=True
)
于 2012-02-16T11:13:22.413 に答える
0

引数は、リビジョンから取得される--revか、それが空の場合はソース スタンプで指定されたブランチから取得されます。強制ビルド時に、これらのいずれかを指定することができます。

一方、特定のビルドを見ているときにリビルド ボタンを押すと、その特定のビルドでビルドされたリビジョンが強制ビルドで使用されます。

于 2012-02-05T13:17:52.163 に答える