D5664: convert: use raw strings for XML strings
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Thu Jan 24 00:26:01 UTC 2019
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Due to the source transformer, we were passing bytes into the
XML APIs. This results in not finding elements and doing compares
against mismatched types.
Use raw string literals so we use str everywhere.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D5664
AFFECTED FILES
hgext/convert/subversion.py
CHANGE DETAILS
diff --git a/hgext/convert/subversion.py b/hgext/convert/subversion.py
--- a/hgext/convert/subversion.py
+++ b/hgext/convert/subversion.py
@@ -1183,12 +1183,12 @@
m = set()
output = self.run0('ls', recursive=True, xml=True)
doc = xml.dom.minidom.parseString(output)
- for e in doc.getElementsByTagName('entry'):
+ for e in doc.getElementsByTagName(r'entry'):
for n in e.childNodes:
- if n.nodeType != n.ELEMENT_NODE or n.tagName != 'name':
+ if n.nodeType != n.ELEMENT_NODE or n.tagName != r'name':
continue
- name = ''.join(c.data for c in n.childNodes
- if c.nodeType == c.TEXT_NODE)
+ name = r''.join(c.data for c in n.childNodes
+ if c.nodeType == c.TEXT_NODE)
# Entries are compared with names coming from
# mercurial, so bytes with undefined encoding. Our
# best bet is to assume they are in local
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list