[Bug 5804] New: Simple pull causes: AttributeError: 'str' object has no attribute 'decode'

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Sat Feb 24 00:56:30 UTC 2018


https://bz.mercurial-scm.org/show_bug.cgi?id=5804

            Bug ID: 5804
           Summary: Simple pull causes: AttributeError: 'str' object has
                    no attribute 'decode'
           Product: Mercurial
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: bz.mercurial-scm.org at assarbad.net
                CC: mercurial-devel at mercurial-scm.org

Hi,

the Hg version that came with Ubuntu 14.04 (2.8.2) failed to pull from the
official Hg repo, because bundle2 support was missing.

So I decided to install Mercurial using `pip install --user mercurial`.

After installing I see this:

-------------------------------
$ hg --version
Mercurial Distributed SCM (version 4.5)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2018 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-------------------------------

When I then attempted to pull again, I was met with an exception as follows:

-------------------------------
$ hg pull
pulling from https://www.mercurial-scm.org/repo/hg
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.6.4 (default, Jan  1 2018, 22:34:23) [GCC 4.8.4]
** Mercurial Distributed SCM (version 4.5)
** Extensions loaded: extdiff, fetch, strip, mq, purge, rebase, record,
schemes, shelve, transplant
Traceback (most recent call last):
  File "/home/oliver/.local/bin/hg", line 41, in <module>
    dispatch.run()
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 88, in run
    status = (dispatch(req) or 0) & 255
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 183, in dispatch
    ret = _runcatch(req)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 324, in _runcatch
    return _callcatch(ui, _runcatchfunc)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 332, in _callcatch
    return scmutil.callcatch(ui, func)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/scmutil.py",
line 154, in callcatch
    return func()
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 314, in _runcatchfunc
    return _dispatch(req)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 918, in _dispatch
    cmdpats, cmdoptions)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 673, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 926, in _runcommand
    return cmdfunc()
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/dispatch.py",
line 915, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/util.py",
line 1195, in check
    return func(*args, **kwargs)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/util.py",
line 1195, in check
    return func(*args, **kwargs)
  File "/home/oliver/.local/lib/python3.6/site-packages/hgext/mq.py", line
3583, in mqcommand
    return orig(ui, repo, *args, **kwargs)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/util.py",
line 1195, in check
    return func(*args, **kwargs)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/util.py",
line 1195, in check
    return func(*args, **kwargs)
  File "/home/oliver/.local/lib/python3.6/site-packages/hgext/rebase.py", line
1772, in pullrebase
    ret = orig(ui, repo, *args, **opts)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/util.py",
line 1195, in check
    return func(*args, **kwargs)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/commands.py",
line 3989, in pull
    other = hg.peer(repo, opts, source)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/hg.py", line
181, in peer
    return _peerorrepo(rui, path, create).peer()
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/hg.py", line
156, in _peerorrepo
    obj = _peerlookup(path).instance(ui, path, create)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/httppeer.py",
line 497, in instance
    inst._fetchcaps()
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/httppeer.py",
line 239, in _fetchcaps
    self._caps = set(self._call('capabilities').split())
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/httppeer.py",
line 407, in _call
    fp = self._callstream(cmd, **args)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/httppeer.py",
line 336, in _callstream
    resp = self._openurl(req)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/httppeer.py",
line 193, in _openurl
    ret = self._urlopener.open(req)
  File "/home/oliver/.pyenv/versions/3.6.4/lib/python3.6/urllib/request.py",
line 526, in open
    response = self._open(req, data)
  File "/home/oliver/.pyenv/versions/3.6.4/lib/python3.6/urllib/request.py",
line 544, in _open
    '_open', req)
  File "/home/oliver/.pyenv/versions/3.6.4/lib/python3.6/urllib/request.py",
line 504, in _call_chain
    result = func(*args)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/url.py", line
342, in https_open
    user, password = self.pwmgr.find_stored_password(url)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/url.py", line
96, in find_stored_password
    return self.passwddb.find_user_password(None, authuri)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/ui.py", line
182, in find_user_password
    _maybestrurl(uri)))
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/ui.py", line
153, in _maybestrurl
    return pycompat.strurl(maybebytes)
  File "/home/oliver/.local/lib/python3.6/site-packages/mercurial/pycompat.py",
line 183, in strurl
    return url.decode(u'ascii')
AttributeError: 'str' object has no attribute 'decode'
-------------------------------

Let me know if more information is required.

Best regards,

Oliver

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list