- class buildbot.steps.source.mercurial.Mercurial
Branches are available in two modes:
dirname, where the name of the branch is a suffix of the name of the repository, or
inrepo, which uses Hg’s named-branches support.
Make sure this setting matches your changehook, if you have that installed.
from buildbot.plugins import steps factory.addStep(steps.Mercurial(repourl='path/to/repo', mode='full', method='fresh', branchType='inrepo'))
The Mercurial step takes the following arguments:
where the Mercurial source repository is available.
this specifies the name of the branch to use when a Build does not provide one of its own. This will be appended to
repourlto create the string that will be passed to the
hg clonecommand. If
Truethen the branch and revision information that comes with the Build is ignored and branch specified in this parameter is used.
either ‘dirname’ (default) or ‘inrepo’ depending on whether the branch name should be appended to the
repourlor the branch is a Mercurial named branch and can be found within the
boolean, defaults to
True. If set and using inrepos branches, clobber the tree at each branch change. Otherwise, just update to the branch.
Mercurial’s incremental mode does not require a method. The full mode has three methods defined:
It removes the build directory entirely then makes full clone from repo. This can be slow as it need to clone whole repository
This remove all other files except those tracked by VCS. First it does hg purge --all then pull/update
All the files which are tracked by Mercurial and listed ignore files are not deleted. Remaining all other files will be deleted before pull/update. This is equivalent to hg purge then pull/update.