diff --git a/contrib/python3-whitelist b/contrib/python3-whitelist --- a/contrib/python3-whitelist +++ b/contrib/python3-whitelist @@ -143,6 +143,7 @@ test-histedit-obsolete.t test-histedit-outgoing.t test-histedit-templates.t test-http-branchmap.t +test-http-bundle1.t test-http-clone-r.t test-identify.t test-imports-checker.t diff --git a/mercurial/url.py b/mercurial/url.py --- a/mercurial/url.py +++ b/mercurial/url.py @@ -67,7 +67,7 @@ class passwordmgr(object): user, passwd = auth.get('username'), auth.get('password') self.ui.debug("using auth.%s.* for authentication\n" % group) if not user or not passwd: - u = util.url(authuri) + u = util.url(pycompat.bytesurl(authuri)) u.query = None if not self.ui.interactive(): raise error.Abort(_('http authorization required for %s') % @@ -75,7 +75,7 @@ class passwordmgr(object): self.ui.write(_("http authorization required for %s\n") % util.hidepassword(bytes(u))) - self.ui.write(_("realm: %s\n") % realm) + self.ui.write(_("realm: %s\n") % pycompat.bytesurl(realm)) if user: self.ui.write(_("user: %s\n") % user) else: @@ -424,8 +424,8 @@ class httpbasicauthhandler(urlreq.httpba user, pw = self.passwd.find_user_password( realm, urllibcompat.getfullurl(req)) if pw is not None: - raw = "%s:%s" % (user, pw) - auth = 'Basic %s' % base64.b64encode(raw).strip() + raw = "%s:%s" % (pycompat.bytesurl(user), pycompat.bytesurl(pw)) + auth = r'Basic %s' % pycompat.strurl(base64.b64encode(raw).strip()) if req.get_header(self.auth_header, None) == auth: return None self.auth = auth