#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

Reply via email to