aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/svn_utils.py
diff options
context:
space:
mode:
authorPhilip Thiem <ptthiem@gmail.com>2013-07-05 11:30:40 -0500
committerPhilip Thiem <ptthiem@gmail.com>2013-07-05 11:30:40 -0500
commit16088e1dd88bbe5497c4e6e1f5239eacec583bef (patch)
treef6abbf9cfa521fa862895b85efa7c0afa7fcb060 /setuptools/svn_utils.py
parent9a9486878f01e21b86e7a2ab317bfe10f3352665 (diff)
downloadexternal_python_setuptools-16088e1dd88bbe5497c4e6e1f5239eacec583bef.tar.gz
external_python_setuptools-16088e1dd88bbe5497c4e6e1f5239eacec583bef.tar.bz2
external_python_setuptools-16088e1dd88bbe5497c4e6e1f5239eacec583bef.zip
added some cmdline testing for svn_util and allowed negative numbers in the min
number from svnversion. --HG-- extra : rebase_source : 8d9c8557e3702b3194fc20d47f5fc07c21521fbe
Diffstat (limited to 'setuptools/svn_utils.py')
-rw-r--r--setuptools/svn_utils.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/setuptools/svn_utils.py b/setuptools/svn_utils.py
index 932ee75c..19352821 100644
--- a/setuptools/svn_utils.py
+++ b/setuptools/svn_utils.py
@@ -24,7 +24,7 @@ from subprocess import Popen as _Popen, PIPE as _PIPE
# 4168M modified working copy
# 4123S switched working copy
# 4123:4168MS mixed revision, modified, switched working copy
-_SVN_VER_RE = re.compile(r'(?:(\d+):)?(\d+)([a-z]*)\s*$', re.I)
+_SVN_VER_RE = re.compile(r'(?:([\-0-9]+):)?(\d+)([a-z]*)\s*$', re.I)
#subprocess is called several times with shell=(sys.platform=='win32')
@@ -91,6 +91,8 @@ def parse_dir_entries(path):
log.warn("svn info failed")
return []
+ data = codecs.encode(data, 'UTF-8')
+
doc = xml.dom.pulldom.parseString(data)
entries = list()
for event, node in doc:
@@ -143,3 +145,14 @@ def get_svn_tool_version():
return data.strip()
else:
return ''
+
+if __name__ == '__main__':
+ def entries_externals_finder(dirname):
+ for record in parse_dir_entries(dirname):
+ yield os.path.join(dirname, record)
+
+ for name in parse_externals(dirname):
+ yield os.path.join(dirname, name)
+
+ for name in entries_externals_finder(sys.argv[1]):
+ print(name) \ No newline at end of file