[Checkins] SVN: keas.build/trunk/src/keas/build/package.py more windows happiness -- it cannot remove a readonly file and an svn repo is full of those
Adam Groszer
agroszer at gmail.com
Mon Sep 7 04:01:27 EDT 2009
Log message for revision 103606:
more windows happiness -- it cannot remove a readonly file and an svn repo is full of those
Changed:
U keas.build/trunk/src/keas/build/package.py
-=-
Modified: keas.build/trunk/src/keas/build/package.py
===================================================================
--- keas.build/trunk/src/keas/build/package.py 2009-09-07 07:55:03 UTC (rev 103605)
+++ keas.build/trunk/src/keas/build/package.py 2009-09-07 08:01:27 UTC (rev 103606)
@@ -27,6 +27,7 @@
import re
import shutil
import sys
+import stat
import tempfile
import urllib
import urllib2
@@ -36,6 +37,21 @@
is_win32 = sys.platform == 'win32'
+def checkRO(function, path, excinfo):
+ if (function == os.remove
+ and excinfo[0] == WindowsError
+ and excinfo[1].winerror == 5):
+ #Access is denied
+ #because it's a readonly file
+ os.chmod(path, stat.S_IWRITE)
+ os.remove(path)
+
+def rmtree(dirname):
+ if is_win32:
+ shutil.rmtree(dirname, ignore_errors=False, onerror=checkRO)
+ else:
+ shutil.rmtree(dirname)
+
class PackageBuilder(object):
pkg = None
@@ -253,7 +269,7 @@
base.do('svn ci -m "Update version number." %s' %(branchDir))
# 6. Cleanup
- shutil.rmtree(buildDir)
+ rmtree(buildDir)
def runCLI(self, configFile, askToCreateRelease=False):
logger.info('Start releasing new version of ' + self.pkg)
More information about the checkins
mailing list