util: use urlreq.unquote
authorGregory Szorc <gregory.szorc@gmail.com>
Tue, 21 Mar 2017 22:23:11 -0700
changeset 31567 4ebecf331d7d
parent 31566 c6df6a23dfe5
child 31568 6c9772867344
util: use urlreq.unquote pycompat.urlreq.unquote and pycompat.urlunquote effectively alias the same thing. pycompat.urlunquote is only used once in the code base. So let's switch to urlreq.unquote. "Effectively" in the above paragraph is because pycompat.urlreq.unquote aliases urllib.unquote and pycompat.urlunquote aliases urlparse.unquote on Python 2. You might think one of urllib.unquote and urlparse.unquote is an alias to the other, but you would be incorrect. In fact, these functions are copies of each other. There is even a comment in the CPython source code saying to keep them in sync. You can't make this up.
mercurial/util.py
--- a/mercurial/util.py	Tue Mar 21 22:20:11 2017 -0700
+++ b/mercurial/util.py	Tue Mar 21 22:23:11 2017 -0700
@@ -2637,7 +2637,7 @@
                   'path', 'fragment'):
             v = getattr(self, a)
             if v is not None:
-                setattr(self, a, pycompat.urlunquote(v))
+                setattr(self, a, urlreq.unquote(v))
 
     def __repr__(self):
         attrs = []