[Buildbot-devel] Documentation inconsistency in Git Source Checkout?
Jonathan Martens
jonathan at snetram.nl
Mon Aug 1 16:52:04 UTC 2011
It seems there is a documentation inconsistency in the BuildBot
documentation regarding the Git
The documentation reads (http://buildbot.net/buildbot/docs/latest/Git.html):
...
method
Git's incremental mode does not require a method. The full mode has
four methods defined:
clobber
It removes the build directory entirely then makes full clone
from repo. This can be slow as it need to clone whole repository
fresh
This remove all other files except those tracked by Git. First
it does git clean -d -f -x then fetch/checkout to a specified
revision(if any). This option is equal to update mode with
ignore_ignores=True in old steps.
clean
All the files which are tracked by Git and listed ignore files
are not deleted. Remaining all other files will be deleted before
fetch/checkout. This is equivalent to git clean -d -f then fetch. This
is equivalent to ignore_ignores=False in old steps.
copy
This first checkout source into source directory then copy the
source directory to build directory then performs the build operation in
the copied directory. This way we make fresh builds with very less
bandwidth to download source. The behavior of source checkout follows
exactly same as incremental. It performs all the incremental checkout
behavior in source directory.
...
But when I set the method to 'fresh' and check my configuration file it
bails out with the following error:
Traceback (most recent call last):
File "D:\virtualenv\buildbot\lib\site-packages\buildbot\master.py",
line 194, in loadTheConfigFile
d = self.loadConfig(f)
File "D:\virtualenv\buildbot\lib\site-packages\buildbot\master.py",
line 547, in loadConfig
d.addCallback(do_load)
File
"D:\virtualenv\buildbot\lib\site-packages\twisted\internet\defer.py",
line 297, in addCallback
callbackKeywords=kw)
File
"D:\virtualenv\buildbot\lib\site-packages\twisted\internet\defer.py",
line 286, in addCallbacks
self._runCallbacks()
--- <exception caught here> ---
File
"D:\virtualenv\buildbot\lib\site-packages\twisted\internet\defer.py",
line 542, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "D:\virtualenv\buildbot\lib\site-packages\buildbot\master.py",
line 223, in do_load
exec f in localDict
File "D:\buildbot-data\master\master.cfg", line 70, in <module>
mode='fresh'
File
"D:\virtualenv\buildbot\lib\site-packages\buildbot\steps\source.py",
line 831, in __init__
Source.__init__(self, **kwargs)
File
"D:\virtualenv\buildbot\lib\site-packages\buildbot\steps\source.py",
line 167, in __init__
assert mode in ("update", "copy", "clobber", "export")
exceptions.AssertionError:
It seems the only allowed methods are called "update", "copy", "clobber"
and "export" where the documentations mentions "clobber", "fresh",
"clean" and "copy".
Apart from that it seems that a parameter is missing documentation as
mode does not have a description:
...
clobberOnFailure
(optional): defaults to False. If a fetch or full clone fails we
can checkout source removing everything. This way new repository will be
cloned. If retry fails it fails the source checkout step.
mode
method
...
The above seems to be present for the general Source Checkout page as
well as http://buildbot.net/buildbot/docs/latest/Source-Checkout.html
looks like this:
...
Parameters
All source checkout steps accept some common parameters to control how
they get the sources and where they should be placed. The remaining
per-VC-system parameters are mostly to specify where exactly the sources
are coming from.
mode
method
These two parameters specify the means by which the source is
checked out. mode specifies the type of checkout and method tells about
the way to implement it.
...
Kind regards,
Jonathan
More information about the devel
mailing list