[Bug 4840] New: treemanifest infinite recursion during `hg convert`
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Thu Sep 24 17:43:30 UTC 2015
http://bz.selenic.com/show_bug.cgi?id=4840
Bug ID: 4840
Summary: treemanifest infinite recursion during `hg convert`
Product: Mercurial
Version: unspecified
Hardware: PC
OS: Mac OS
Status: UNCONFIRMED
Severity: feature
Priority: wish
Component: Mercurial
Assignee: bugzilla at selenic.com
Reporter: durin42 at gmail.com
CC: mercurial-devel at selenic.com
I was converting http://bitbucket.org/durin42/subversion from regular hg to hg
with treemanifest to see how the space savings worked out (mostly curious) and
I keep hitting infinite recursion in _load():
** Unknown exception encountered with possibly-broken third-party extension
narrowhg
** which supports versions unknown of Mercurial.
** Please disable narrowhg and try your action again.
** If that fixes the bug please report it to the extension author.
** Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2]
** Mercurial Distributed SCM (version 3.5.1+242-7bcb7557ba45)
** Extensions loaded: google_hgext, narrowhg, remotefilelog, color, convert,
highlight, histedit, strip, mq, patchbomb, progress, purge, rebase, record,
schemes, shelve, transplant, hg_remotebranches, terse_status, hgsubversion,
evolve, perf, topic
Traceback (most recent call last):
File "/opt/hg/bin/hg", line 43, in <module>
mercurial.dispatch.run()
File "/opt/hg/lib/python/mercurial/dispatch.py", line 54, in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
File "/opt/hg/lib/python/mercurial/dispatch.py", line 116, in dispatch
ret = _runcatch(req)
File "/opt/hg/lib/python/mercurial/dispatch.py", line 186, in _runcatch
try:
File "/opt/hg/lib/python/mercurial/dispatch.py", line 921, in _dispatch
cmdpats, cmdoptions)
File "/opt/hg/lib/python/mercurial/extensions.py", line 183, in closure
return func(*(args + a), **kw)
File "/usr/lib/python2.7/dist-packages/narrowhg/narrowcommands.py", line 34,
in runcommand_warning
cmdoptions)
File "/opt/hg/lib/python/mercurial/dispatch.py", line 680, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/opt/hg/lib/python/mercurial/extensions.py", line 183, in closure
return func(*(args + a), **kw)
File "/opt/hg/lib/python/hgext/color.py", line 525, in colorcmd
return orig(ui_, opts, cmd, cmdfunc)
File "/opt/hg/lib/python/mercurial/dispatch.py", line 1039, in _runcommand
return checkargs()
File "/opt/hg/lib/python/mercurial/dispatch.py", line 1008, in checkargs
return cmdfunc()
File "/opt/hg/lib/python/mercurial/dispatch.py", line 918, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/opt/hg/lib/python/mercurial/util.py", line 792, in check
return func(*args, **kwargs)
File "/opt/hg/lib/python/hgext/convert/__init__.py", line 383, in convert
return convcmd.convert(ui, src, dest, revmapfile, **opts)
File "/opt/hg/lib/python/hgext/convert/convcmd.py", line 579, in convert
c.convert(sortmode)
File "/opt/hg/lib/python/hgext/convert/convcmd.py", line 491, in convert
self.copy(c)
File "/opt/hg/lib/python/hgext/convert/convcmd.py", line 459, in copy
source, self.map, full, cleanp2)
File "/opt/hg/lib/python/hgext/convert/hg.py", line 329, in putcommit
node = hex(self.repo.commitctx(ctx))
File
"/usr/local/google/home/augie/Programming/hg/topic/src/topic/__init__.py", line
73, in commitctx
return orig.commitctx(self, ctx, error=error)
File "/opt/hg/lib/python/mercurial/localrepo.py", line 64, in wrapper
return orig(repo.unfiltered(), *args, **kwargs)
File "/opt/hg/lib/python/mercurial/localrepo.py", line 1563, in commitctx
if ctx.files():
File "/opt/hg/lib/python/mercurial/context.py", line 1232, in files
return sorted(self._status.modified + self._status.added +
File "/opt/hg/lib/python/mercurial/util.py", line 531, in __get__
result = self.func(obj)
File "/opt/hg/lib/python/mercurial/context.py", line 1883, in _status
if not managing(f):
File "/opt/hg/lib/python/mercurial/context.py", line 1879, in <lambda>
managing = lambda f: f in man1
File "/opt/hg/lib/python/mercurial/manifest.py", line 532, in __contains__
return self._dirs[dir].__contains__(subpath)
File "/opt/hg/lib/python/mercurial/manifest.py", line 532, in __contains__
return self._dirs[dir].__contains__(subpath)
File "/opt/hg/lib/python/mercurial/manifest.py", line 532, in __contains__
return self._dirs[dir].__contains__(subpath)
File "/opt/hg/lib/python/mercurial/manifest.py", line 527, in __contains__
self._load()
File "/opt/hg/lib/python/mercurial/manifest.py", line 618, in _load
self._load()
File "/opt/hg/lib/python/mercurial/manifest.py", line 618, in _load
self._load()
File "/opt/hg/lib/python/mercurial/manifest.py", line 618, in _load
self._load()
File "/opt/hg/lib/python/mercurial/manifest.py", line 618, in _load
self._load()
[etc for a long time]
File "/opt/hg/lib/python/mercurial/manifest.py", line 618, in _load
self._load()
File "/opt/hg/lib/python/mercurial/manifest.py", line 618, in _load
self._load()
RuntimeError: maximum recursion depth exceeded
inspecting with pdb makes it look like self._load() is the same as _load, and
that we'll never get anywhere.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list