[Bug 6593] New: exception with histedit and topic

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Wed Sep 29 13:35:52 UTC 2021


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

            Bug ID: 6593
           Summary: exception with histedit and topic
           Product: Mercurial
           Version: 5.9
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: evolution
          Assignee: bugzilla at mercurial-scm.org
          Reporter: vgatien-baron at janestreet.com
                CC: mercurial-devel at mercurial-scm.org,
                    pierre-yves.david at ens-lyon.org
    Python Version: ---

histedit can fail in the following way when doing some combination of
fold/reorder, some of the time, and when it does, it leaves a mess of new
commits with no obsolence markers and no clear way to abort the change:

$ hg histedit
performing changes
** Unknown exception
** If that fixes the bug please report it to the extension author.
** Python 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat
4.8.5-44)]
** Mercurial Distributed SCM (version 5.9.1+hg38.33f8c15913e1)
** Extensions loaded: absorb, blackbox, convert, evolve 10.3.3, extdiff,
histedit, narrow, purge, rebase, share, sparse, topic 0.22.3, transplant
Traceback (most recent call last):
  File "site-packages/mercurial/commandserver.py", line 499, in _serverequest
    sv.serve()
  File "site-packages/mercurial/commandserver.py", line 403, in serve
    while self.serveone():
  File "site-packages/mercurial/commandserver.py", line 377, in serveone
    handler(self)
  File "site-packages/mercurial/chgserver.py", line 583, in runcommand
    return super(chgcmdserver, self).runcommand()
  File "site-packages/mercurial/commandserver.py", line 358, in runcommand
    ret = self._dispatchcommand(req) & 255
  File "site-packages/mercurial/commandserver.py", line 297, in
_dispatchcommand
    return dispatch.dispatch(req)
  File "site-packages/mercurial/dispatch.py", line 250, in dispatch
    status = _rundispatch(req)
  File "site-packages/mercurial/dispatch.py", line 294, in _rundispatch
    ret = _runcatch(req) or 0
  File "site-packages/mercurial/dispatch.py", line 472, in _runcatch
    return _callcatch(ui, _runcatchfunc)
  File "site-packages/mercurial/dispatch.py", line 482, in _callcatch
    return scmutil.callcatch(ui, func)
  File "site-packages/mercurial/scmutil.py", line 153, in callcatch
    return func()
  File "site-packages/mercurial/dispatch.py", line 462, in _runcatchfunc
    return _dispatch(req)
  File "site-packages/mercurial/dispatch.py", line 1276, in _dispatch
    lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
  File "site-packages/mercurial/dispatch.py", line 920, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "site-packages/mercurial/dispatch.py", line 1287, in _runcommand
    return cmdfunc()
  File "site-packages/mercurial/dispatch.py", line 1273, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "site-packages/mercurial/util.py", line 1886, in check
    return func(*args, **kwargs)
  File "site-packages/mercurial/util.py", line 1886, in check
    return func(*args, **kwargs)
  File "site-packages/mercurial/util.py", line 1886, in check
    return func(*args, **kwargs)
  File "site-packages/hgext/histedit.py", line 1894, in histedit
    return _chistedit(ui, repo, freeargs, opts)
  File "site-packages/hgext/histedit.py", line 1751, in _chistedit
    return _texthistedit(ui, repo, freeargs, opts)
  File "site-packages/hgext/histedit.py", line 1903, in _texthistedit
    _histedit(ui, repo, state, freeargs, opts)
  File "site-packages/hgext/histedit.py", line 2027, in _histedit
    _continuehistedit(ui, repo, state)
  File "site-packages/hgext/histedit.py", line 2068, in _continuehistedit
    parentctx, replacement_ = actobj.run()
  File "site-packages/hgext/histedit.py", line 571, in run
    return self.continueclean()
  File "site-packages/hgext/histedit.py", line 874, in continueclean
    repo.ui, repo, parentctx, rulectx, ctx.node(), middlecommits
  File "site-packages/hgext/histedit.py", line 943, in finishfold
    skipprompt=self.skipprompt(),
  File "site-packages/hgext/histedit.py", line 744, in collapse
    return repo.commitctx(new)
  File "site-packages/hgext3rd/topic/__init__.py", line 502, in commitctx
    del ctx.extra()[constants.extrakey]
KeyError: b'topic'

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


More information about the Mercurial-devel mailing list