[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