buildbot не обновляет Mercurial до последней версии на Forcebuild - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть несколько сценариев, запускаемых после того, как изменения пропущены через таймер, и они работали нормально при использовании правильной головки, но принудительная сборка после завершенных не удалась. Тот же самый раб используется. Вот команда-оболочка для pull / update в 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 - более старая голова; Я даже не уверен, где он захватывает этот номер, он не упоминается где-либо еще в скрипте или журналах, должен исходить с сервера, но как мне указать заголовок или НЕ указывать его? Я добавляю правильный шаг в репо?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

У меня была такая же проблема, пока я не добавил alwaysUseLatest = True . В вашем случае, я полагаю, вы могли бы использовать:

repository = Mercurial(
    repourl=repo, 
    branchType='inrepo',
    defaultBranch='devel', 
    alwaysUseLatest=True
)
0 голосов
/ 05 февраля 2012

Аргумент --rev берется либо из ревизии, либо, если она пуста, из ветви, указанной в исходной отметке.При принудительном построении можно указать любую из этих вещей.

С другой стороны, если вы нажимаете кнопку перестроения, при просмотре конкретной сборки ревизия, созданная в этой конкретной сборке, используется в принудительной сборке.строить.

...