[Bug 6066] New: rebase can lead to AttributeError
mercurial-bugs at mercurial-scm.org
mercurial-bugs at mercurial-scm.org
Wed Jan 30 17:31:50 UTC 2019
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: bugzilla at mercurial-scm.org
Reporter: 7895pulkit at gmail.com
CC: mercurial-devel at 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.
More information about the Mercurial-devel
mailing list