You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by aj...@apache.org on 2004/10/11 19:55:56 UTC
svn commit: rev 54604 - in gump/trunk/python/gump: core/update util
Author: ajack
Date: Mon Oct 11 10:55:55 2004
New Revision: 54604
Modified:
gump/trunk/python/gump/core/update/updater.py
gump/trunk/python/gump/util/sync.py
Log:
Second 'sync' bug in a week, after months of none. Odd.
Still, trying a tougher delete when a 'nice one' fails.
Logging when the nice delete failed.
Modified: gump/trunk/python/gump/core/update/updater.py
==============================================================================
--- gump/trunk/python/gump/core/update/updater.py (original)
+++ gump/trunk/python/gump/core/update/updater.py Mon Oct 11 10:55:55 2004
@@ -139,7 +139,6 @@
if ok:
self.syncModule(module)
-
def syncModule(self,module):
"""
@@ -178,14 +177,17 @@
+ `module.getPosition()` + \
'] : ' + module.getName())
- if os.path.exists(changesFile):
- catFileToFileHolder(module, changesFile, FILE_TYPE_LOG)
except Exception, details:
module.changeState(STATE_FAILED,REASON_SYNC_FAILED)
message='Synchronize Failed: ' + str(details)
module.addError(message)
log.error(message, exc_info=1)
+
+
+ # Might help even with sync failures.
+ if os.path.exists(changesFile):
+ catFileToFileHolder(module, changesFile, FILE_TYPE_LOG)
return module.okToPerformWork()
Modified: gump/trunk/python/gump/util/sync.py
==============================================================================
--- gump/trunk/python/gump/util/sync.py (original)
+++ gump/trunk/python/gump/util/sync.py Mon Oct 11 10:55:55 2004
@@ -205,12 +205,15 @@
def epurate(self, sourcedir, destdir, acceptablefiles, existingfiles):
"""
this routine will delete from a set of existing files
- in a directory the one which are not part of an
- array of acceptablefiles
+ in a directory [the ones which are not part of an
+ array of acceptablefiles]
+
sourcedir = directory from which the copy is taking place
destdir = directory where the epuration is to take place
acceptablefiles = array of filenames of files which are accepted at destination
existingfiles = array of filenames which exist at destination
+
+ None
"""
for afile in existingfiles:
fullsourcefile = os.path.join(sourcedir, afile)
@@ -228,7 +231,9 @@
self.displayAction(False,' -F ', tobedeleted)
os.remove(tobedeleted)
except (IOError, os.error), why:
- os.remove(tobedeleted)
+ log.warning('Error removing [%s] - %s. Try again.' % (`tobedeleted`, why))
+ self.displayAction(False,' -X ', tobedeleted)
+ shutil.rmtree(tobedeleted, True)
def removenonmatching(self, sourcedir, destdir, acceptablefiles, existingfiles):
"""