#930: _purgeAndUpdate attempts to delete svn externals
----------------------+-----------------------------------------------------
Reporter: laiq | Owner:
Type: undecided | Status: new
Priority: major | Milestone: undecided
Version: 0.8.1 | Keywords:
----------------------+-----------------------------------------------------
purgeAndUpdate sees svn external directories as files it should delete.
Due to the fact that svn stat outputs the directory before any files it
contains, this will always result in an exception if there is a changed
file in the external directory.
Repro: create an svn external directory /foo. Touch a file within foo. Run
a build with a SVN step with always_purge=True.
Builder config:
{{{
metabuilder = BuildFactory((
s( SVN,
svnurl='svn+ssh://[email protected]/home/svnrepos/trunk/process',
always_purge=True,
workdir='build/process',
),
s( ShellCommand,
haltOnFailure=True,
command='python runtests.py',
description='run tests',
workdir='build/process',
),
s( Trigger,
schedulerNames=['deploy',],
alwaysRun=False,
),
))
}}}
Error output:
{{{
/home/someuser/a_buildslave/tests/build/process/svn-hooks/checks.pyc
/home/someuser/a_buildslave/tests/build/process/svn-hooks/svn-scripts
/home/someuser/a_buildslave/tests/build/process/svn-hooks/svn-
scripts/verify_module.pyc
remoteFailed: [Failure instance: Traceback from remote host -- Traceback
(most recent call last):
File "/usr/local/lib/python2.6/dist-
packages/buildbot_slave-0.8.1-py2.6.egg/buildslave/commands/base.py", line
169, in processEnded
self.command.finished(sig, rc)
File "/usr/local/lib/python2.6/dist-
packages/buildbot_slave-0.8.1-py2.6.egg/buildslave/commands/base.py", line
703, in finished
d.callback(rc)
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line
280, in callback
self._startRunCallbacks(result)
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line
354, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line
371, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/local/lib/python2.6/dist-
packages/buildbot_slave-0.8.1-py2.6.egg/buildslave/commands/vcs.py", line
672, in _purgeAndUpdate2
rmdirRecursive(filepath)
File "/usr/lib/python2.6/shutil.py", line 208, in rmtree
onerror(os.listdir, path, sys.exc_info())
File "/usr/lib/python2.6/shutil.py", line 206, in rmtree
names = os.listdir(path)
exceptions.OSError: [Errno 2] No such file or directory:
'/home/someuser/a_buildslave/tests/build/process/svn-hooks/svn-
scripts/verify_module.pyc'
]
}}}
--
Ticket URL: <http://buildbot.net/trac/ticket/930>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Buildbot-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/buildbot-commits