diff -r 8ca92bcb3083 -r 7eb701e355bd mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Nov 21 15:46:35 2019 -0500 +++ b/mercurial/localrepo.py Fri Nov 22 21:42:04 2019 +0900 @@ -1568,7 +1568,7 @@ else: raise error.ProgrammingError( b"unsupported changeid '%s' of type %s" - % (changeid, pycompat.sysstr(type(changeid))) + % (changeid, pycompat.bytestr(type(changeid))) ) return context.changectx(self, rev, node) @@ -2086,11 +2086,10 @@ tracktags(tr2) repo = reporef() - r = repo.ui.configsuboptions( - b'experimental', b'single-head-per-branch' - ) - singlehead, singleheadsub = r + singleheadopt = (b'experimental', b'single-head-per-branch') + singlehead = repo.ui.configbool(*singleheadopt) if singlehead: + singleheadsub = repo.ui.configsuboptions(*singleheadopt)[1] accountclosed = singleheadsub.get( b"account-closed-heads", False )