https://bz.mercurial-scm.org/show_bug.cgi?id=6066
Bug ID: 6066 Summary: rebase can lead to AttributeError Product: Mercurial Version: 4.9rc0 Hardware: PC OS: Linux Status: UNCONFIRMED Severity: feature Priority: wish Component: rebase Assignee: bugzi...@mercurial-scm.org Reporter: 7895pul...@gmail.com CC: mercurial-devel@mercurial-scm.org I was rebasing something and hit the following traceback: ``` ~/repo/pushaccess/tests$ hg rebase -b . -d @ rebasing 41680:62b328f80ba3 "py3: fix up test-remotefilelog-cacheprocess.t to not depend on a repr" Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/mercurial/scmutil.py", line 165, in callcatch return func() File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 367, in _runcatchfunc return _dispatch(req) File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1021, in _dispatch cmdpats, cmdoptions) File "/usr/local/lib/python2.7/dist-packages/hgext/journal.py", line 90, in runcommand return orig(lui, repo, cmd, fullargs, *args) File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 756, in runcommand ret = _runcommand(ui, options, cmd, d) File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1030, in _runcommand return cmdfunc() File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1018, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/home/foobar/repo/mutable-history/hgext3rd/evolve/__init__.py", line 797, in warnobserrors return orig(ui, repo, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/home/foobar/repo/mutable-history/hgext3rd/topic/__init__.py", line 1239, in setrebaseconfig return orig(ui, repo, **opts) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 921, in rebase return _dorebase(ui, repo, action, opts, inmemory=inmemory) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 975, in _dorebase return _origrebase(ui, repo, action, opts, rbsrt, inmemory=inmemory) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 1044, in _origrebase rbsrt._performrebase(tr) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 458, in _performrebase self._rebasenode(tr, rev, allowdivergence, progress) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 549, in _rebasenode dest, wctx=self.wctx) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 1267, in rebasenode labels=['dest', 'source'], wc=wctx) File "/home/foobar/repo/mutable-history/hgext3rd/topic/__init__.py", line 1186, in mergeupdatewrap ret = orig(repo, node, branchmerge, force, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 2075, in update followcopies, matcher=matcher, mergeforce=mergeforce) File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 1342, in calculateupdates acceptremote, followcopies) File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 1146, in manifestmerge ret = copies.mergecopies(repo, wctx, p2, pa) File "/usr/local/lib/python2.7/dist-packages/mercurial/copies.py", line 416, in mergecopies return _fullcopytracing(repo, c1, c2, base) File "/home/foobar/repo/mutable-history/hgext3rd/evolve/compat.py", line 251, in fixedcopytracing limit = copies._findlimit(repo, c1.rev(), c2.rev()) File "/usr/local/lib/python2.7/dist-packages/mercurial/copies.py", line 49, in _findlimit a = ctxa.rev() AttributeError: 'NoneType' object has no attribute 'rev' ** Unknown exception encountered with possibly-broken third-party extension debugshell ** which supports versions unknown of Mercurial. ** Please disable debugshell and try your action again. ** If that fixes the bug please report it to the extension author. ** Python 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609] ** Mercurial Distributed SCM (version 4.9rc0+159-30dd20a56f3e) ** Extensions loaded: releasenotes, blackbox, journal, show, patchbomb, churn, rebase, shelve, evolve, topic, absorb, fastannotate, debugshell, phabricator, bbreview Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/mercurial/commandserver.py", line 433, in _serverequest sv.serve() File "/usr/local/lib/python2.7/dist-packages/mercurial/commandserver.py", line 346, in serve while self.serveone(): File "/usr/local/lib/python2.7/dist-packages/mercurial/commandserver.py", line 319, in serveone handler(self) File "/usr/local/lib/python2.7/dist-packages/mercurial/chgserver.py", line 492, in runcommand return super(chgcmdserver, self).runcommand() File "/usr/local/lib/python2.7/dist-packages/mercurial/commandserver.py", line 303, in runcommand ret = dispatch.dispatch(req) & 255 File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 225, in dispatch ret = _runcatch(req) or 0 File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 376, in _runcatch return _callcatch(ui, _runcatchfunc) File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 384, in _callcatch return scmutil.callcatch(ui, func) File "/usr/local/lib/python2.7/dist-packages/mercurial/scmutil.py", line 165, in callcatch return func() File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 367, in _runcatchfunc return _dispatch(req) File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1021, in _dispatch cmdpats, cmdoptions) File "/usr/local/lib/python2.7/dist-packages/hgext/journal.py", line 90, in runcommand return orig(lui, repo, cmd, fullargs, *args) File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 756, in runcommand ret = _runcommand(ui, options, cmd, d) File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1030, in _runcommand return cmdfunc() File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1018, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/home/foobar/repo/mutable-history/hgext3rd/evolve/__init__.py", line 797, in warnobserrors return orig(ui, repo, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/home/foobar/repo/mutable-history/hgext3rd/topic/__init__.py", line 1239, in setrebaseconfig return orig(ui, repo, **opts) File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1676, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 921, in rebase return _dorebase(ui, repo, action, opts, inmemory=inmemory) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 975, in _dorebase return _origrebase(ui, repo, action, opts, rbsrt, inmemory=inmemory) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 1044, in _origrebase rbsrt._performrebase(tr) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 458, in _performrebase self._rebasenode(tr, rev, allowdivergence, progress) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 549, in _rebasenode dest, wctx=self.wctx) File "/usr/local/lib/python2.7/dist-packages/hgext/rebase.py", line 1267, in rebasenode labels=['dest', 'source'], wc=wctx) File "/home/foobar/repo/mutable-history/hgext3rd/topic/__init__.py", line 1186, in mergeupdatewrap ret = orig(repo, node, branchmerge, force, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 2075, in update followcopies, matcher=matcher, mergeforce=mergeforce) File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 1342, in calculateupdates acceptremote, followcopies) File "/usr/local/lib/python2.7/dist-packages/mercurial/merge.py", line 1146, in manifestmerge ret = copies.mergecopies(repo, wctx, p2, pa) File "/usr/local/lib/python2.7/dist-packages/mercurial/copies.py", line 416, in mergecopies return _fullcopytracing(repo, c1, c2, base) File "/home/foobar/repo/mutable-history/hgext3rd/evolve/compat.py", line 251, in fixedcopytracing limit = copies._findlimit(repo, c1.rev(), c2.rev()) File "/usr/local/lib/python2.7/dist-packages/mercurial/copies.py", line 49, in _findlimit a = ctxa.rev() AttributeError: 'NoneType' object has no attribute 'rev' ``` I am using in-memory merge and copytracing is enabled. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel