AttributeError: 'localrepository' object has no attribute 'join'

#14 Merged at c933cc1
  1. cheater00

This fork fixes this issue that started cropping up after I upgraded hg from 2.4.2 to 4.4.1.

Comments (4)

  1. MBSolutions

    +1, fixed the same issue for me:

    Unknown exception encountered with possibly-broken third-party extension crecord which supports versions 3.6 of Mercurial. Please disable crecord and try your action again. If that fixes the bug please report it to Python 2.7.14+ (default, Feb 6 2018, 19:12:18) [GCC 7.3.0] Mercurial Distributed SCM (version 4.4.1) Extensions loaded: fetch, gpg, graphlog, hgk, highlight, strip, mq, pager, purge, rebase, transplant, patchbomb, extdiff, crecord, hgnested, hggit Traceback (most recent call last): File "/usr/bin/hg", line 41, in <module> File "/usr/lib/python2.7/dist-packages/mercurial/", line 85, in run status = (dispatch(req) or 0) & 255 File "/usr/lib/python2.7/dist-packages/mercurial/", line 173, in dispatch ret = _runcatch(req) File "/usr/lib/python2.7/dist-packages/mercurial/", line 313, in _runcatch return _callcatch(ui, _runcatchfunc) File "/usr/lib/python2.7/dist-packages/mercurial/", line 321, in _callcatch return scmutil.callcatch(ui, func) File "/usr/lib/python2.7/dist-packages/mercurial/", line 154, in callcatch return func() File "/usr/lib/python2.7/dist-packages/mercurial/", line 303, in _runcatchfunc return _dispatch(req) File "/usr/lib/python2.7/dist-packages/mercurial/", line 940, in _dispatch cmdpats, cmdoptions) File "/usr/lib/python2.7/dist-packages/mercurial/", line 701, in runcommand ret = _runcommand(ui, options, cmd, d) File "/usr/lib/python2.7/dist-packages/hgext/", line 77, in pagecmd return orig(ui, options, cmd, cmdfunc) File "/usr/lib/python2.7/dist-packages/mercurial/", line 948, in _runcommand return cmdfunc() File "/usr/lib/python2.7/dist-packages/mercurial/", line 937, in <lambda> d = lambda: util.checksignature(func)(ui, *args, strcmdopt) File "/usr/lib/python2.7/dist-packages/mercurial/", line 1185, in check return func(args, kwargs) File "/usr/lib/python2.7/dist-packages/mercurial/", line 1185, in check return func(*args, kwargs) File "/usr/lib/python2.7/dist-packages/hgext/", line 3583, in mqcommand return orig(ui, repo, args, kwargs) File "/usr/lib/python2.7/dist-packages/mercurial/", line 1185, in check return func(*args, kwargs) File "/home/mathiasb/bin/python/crecord/crecord/", line 36, in crecord dorecord(ui, repo, commands.commit, pats, *opts) File "/home/mathiasb/bin/python/crecord/crecord/", line 199, in dorecord return cmdutil.commit(ui, repo, recordfunc, pats, opts) File "/usr/lib/python2.7/dist-packages/mercurial/", line 3090, in commit return commitfunc(ui, repo, message, matcher, opts) File "/home/mathiasb/bin/python/crecord/crecord/", line 91, in recordfunc backupdir = repo.join('record-backups') File "/usr/lib/python2.7/dist-packages/mercurial/", line 236, in getattr return getattr(self._unfilteredrepo, attr) AttributeError: 'hgrepo' object has no attribute 'join'

  2. Mark Edgington repo owner

    I'll merge this PR, but you should be aware that crecord is now built-in to mercurial, and you don't need to use a separate extension with current versions of mercurial. See the --interactive flag for hg commands like commit.

  3. cheater00 author

    Hey Mark, hg ci --interactive is no replacement for crecord! Even though git has had that sort of interface since forever, crecord is so much better in the UX department that it's the single thing that kept me using hg all these years. In fact I only started seriously using git after discovering git gui exposes a visual interface similar to crecord (now I use vimagit). Still neither are as good as crecord. If people are considering abandoning crecord, who do I talk to so this can be reconsidered?