[Python-checkins] r56276 - in sandbox/trunk/setuptools/setuptools: __init__.py command/egg_info.py
phillip.eby
python-checkins at python.org
Wed Jul 11 19:34:03 CEST 2007
Author: phillip.eby
Date: Wed Jul 11 19:34:02 2007
New Revision: 56276
Modified:
sandbox/trunk/setuptools/setuptools/__init__.py
sandbox/trunk/setuptools/setuptools/command/egg_info.py
Log:
Fix distutils.filelist.findall() crashing on broken symlinks. Fix
egg_info failures on new, uncommitted SVN directories.
Modified: sandbox/trunk/setuptools/setuptools/__init__.py
==============================================================================
--- sandbox/trunk/setuptools/setuptools/__init__.py (original)
+++ sandbox/trunk/setuptools/setuptools/__init__.py Wed Jul 11 19:34:02 2007
@@ -62,3 +62,21 @@
import distutils.core
distutils.core.Command = Command # we can't patch distutils.cmd, alas
+
+def findall(dir = os.curdir):
+ """Find all files under 'dir' and return the list of full filenames
+ (relative to 'dir').
+ """
+ all_files = []
+ for base, dirs, files in os.walk(dir):
+ if base!=os.curdir:
+ files = [os.path.join(base, f) for f in files]
+ all_files.extend(filter(os.path.isfile, files))
+ return all_files
+
+import distutils.filelist
+distutils.filelist.findall = findall # fix findall bug in distutils.
+
+
+
+
Modified: sandbox/trunk/setuptools/setuptools/command/egg_info.py
==============================================================================
--- sandbox/trunk/setuptools/setuptools/command/egg_info.py (original)
+++ sandbox/trunk/setuptools/setuptools/command/egg_info.py Wed Jul 11 19:34:02 2007
@@ -221,10 +221,10 @@
data = map(str.splitlines,data.split('\n\x0c\n'))
del data[0][0] # get rid of the '8'
dirurl = data[0][3]
- localrev = max([int(d[9]) for d in data if len(d)>9 and d[9]])
+ localrev = max([int(d[9]) for d in data if len(d)>9 and d[9]]+[0])
elif data.startswith('<?xml'):
dirurl = urlre.search(data).group(1) # get repository URL
- localrev = max([int(m.group(1)) for m in revre.finditer(data)])
+ localrev = max([int(m.group(1)) for m in revre.finditer(data)]+[0])
else:
log.warn("unrecognized .svn/entries format; skipping %s", base)
dirs[:] = []
More information about the Python-checkins
mailing list