summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setuptools/svn_utils.py4
-rw-r--r--setuptools/tests/test_svn.py15
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)