[Erp5-report] r6801 - /erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Apr 19 14:46:26 CEST 2006
Author: chris
Date: Wed Apr 19 14:46:24 2006
New Revision: 6801
URL: http://svn.erp5.org?rev=6801&view=rev
Log:
- improved debug output in copytree function
- sort list before svn add/del because order is important
Modified:
erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py
Modified: erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py?rev=6801&r1=6800&r2=6801&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py (original)
+++ erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py Wed Apr 19 14:46:24 2006
@@ -101,7 +101,7 @@
else:
copy(srcname, dstname)
except (IOError, os.error), why:
- errors.append((srcname, dstname, why))
+ errors.append((srcname, dstname, 'Error: ' + str(why.strerror)))
if errors:
raise Error, errors
@@ -767,8 +767,9 @@
dirs.remove('.svn')
# get Directories
for name in dirs:
+ i = root.replace(directory, '').count(os.sep)
f = os.path.join(root, name)
- dir_set.add(f.replace(directory,''))
+ dir_set.add((i, f.replace(directory,'')))
return dir_set
# return a set with files present in the directory
@@ -779,9 +780,10 @@
if '.svn' in dirs:
dirs.remove('.svn')
# get Files
- for name in files:
+ for name in files:
+ i = root.replace(directory, '').count(os.sep)
f = os.path.join(root, name)
- dir_set.add(f.replace(directory,''))
+ dir_set.add((i, f.replace(directory,'')))
return dir_set
# return files present in new_dir but not in old_dir
@@ -793,6 +795,9 @@
new_dir += os.sep
old_set = self.getSetFilesForDir(old_dir)
new_set = self.getSetFilesForDir(new_dir)
+ LOG("chrisold", 1, old_set)
+ LOG("chrisnew", 1, new_set)
+ LOG("chrisdiff", 1, new_set.difference(old_set))
return new_set.difference(old_set)
# return dirs present in new_dir but not in old_dir
@@ -813,8 +818,12 @@
# detect removed directories
dirs_set = self.getNewDirs(new_dir, old_dir)
# svn del
- self.remove([os.path.join(old_dir, x) for x in files_set])
- self.remove([os.path.join(old_dir, x) for x in dirs_set])
+ list = [x for x in files_set]
+ list.sort()
+ self.remove([os.path.join(old_dir, x[1]) for x in list])
+ list = [x for x in dirs_set]
+ list.sort()
+ self.remove([os.path.join(old_dir, x[1]) for x in list])
# copy files and add new files
def addNewFiles(self, old_dir, new_dir, bt):
@@ -826,8 +835,12 @@
#os.system('cp -af %s/* %s'%(new_dir, old_dir))
copytree(new_dir, old_dir)
# svn add
- self.add([os.path.join(old_dir, x) for x in dirs_set])
- self.add([os.path.join(old_dir, x) for x in files_set])
+ list = [x for x in dirs_set]
+ list.sort()
+ self.add([os.path.join(old_dir, x[1]) for x in list])
+ list = [x for x in files_set]
+ list.sort()
+ self.add([os.path.join(old_dir, x[1]) for x in list])
def treeToXML(self, item) :
output = "<?xml version='1.0' encoding='iso-8859-1'?>"+ os.linesep
More information about the Erp5-report
mailing list