diff options
| -rw-r--r-- | setuptools/svn_utils.py | 4 | ||||
| -rw-r--r-- | setuptools/tests/test_svn.py | 15 |
2 files changed, 12 insertions, 7 deletions
diff --git a/setuptools/svn_utils.py b/setuptools/svn_utils.py index 09aa5e25..17b211d7 100644 --- a/setuptools/svn_utils.py +++ b/setuptools/svn_utils.py @@ -121,6 +121,7 @@ def parse_dir_entries(decoded_str): def parse_externals_xml(decoded_str, prefix=''):
'''Parse a propget svn:externals xml'''
prefix = os.path.normpath(prefix)
+ prefix = os.path.normcase(prefix)
doc = xml.dom.pulldom.parseString(_get_xml_data(decoded_str))
externals = list()
@@ -129,6 +130,9 @@ def parse_externals_xml(decoded_str, prefix=''): if event == 'START_ELEMENT' and node.nodeName == 'target':
doc.expandNode(node)
path = os.path.normpath(node.getAttribute('path'))
+ log.warn('')
+ log.warn('PRE: %s' % prefix)
+ log.warn('PTH: %s' % path)
if os.path.normcase(path).startswith(prefix):
path = path[len(prefix)+1:]
diff --git a/setuptools/tests/test_svn.py b/setuptools/tests/test_svn.py index 4a6e7eff..59ecb25b 100644 --- a/setuptools/tests/test_svn.py +++ b/setuptools/tests/test_svn.py @@ -114,20 +114,21 @@ class ParserExternalXML(unittest.TestCase): folder3 = 'third_party3' expected = set([ - "\\".join((example_base, folder2)), - "\\".join((example_base, folder3)), + os.sep.join((example_base, folder2)), + os.sep.join((example_base, folder3)), #third_party大介 - "\\".join((example_base, + os.sep.join((example_base, unicode('third_party') + unichr(0x5927) + unichr(0x4ecb))), - "\\".join((example_base, 'folder', folder2)), - "\\".join((example_base, 'folder', folder3)), - "\\".join((example_base, 'folder', + os.sep.join((example_base, 'folder', folder2)), + os.sep.join((example_base, 'folder', folder3)), + os.sep.join((example_base, 'folder', unicode('third_party') + unichr(0x5927) + unichr(0x4ecb))), ]) - dir_base = r'c:\development\svn_example' + expected = set(os.path.normpath(x) for x in expected) + dir_base = os.sep.join(('C:', 'development', 'svn_example')) self.assertEqual(set(x for x \ in svn_utils.parse_externals_xml(data, dir_base)), expected) |
