[Bug 4895] New: with evolve enabled, `hg parents` acquires the wlock, causing it to fail in read-only repo
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Thu Oct 8 22:56:55 UTC 2015
https://bz.mercurial-scm.org/show_bug.cgi?id=4895
Bug ID: 4895
Summary: with evolve enabled, `hg parents` acquires the wlock,
causing it to fail in read-only repo
Product: Mercurial
Version: 3.5.2
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: bug
Priority: wish
Component: evolution
Assignee: bugzilla at selenic.com
Reporter: rm at fb.com
CC: mercurial-devel at selenic.com,
pierre-yves.david at ens-lyon.org
Running `hg parents` takes the lock when it should not. For example, `hgg log
-r 'parents()' --pager=no` which returns the same info does not acquire any
such lock.
I got a backtrace of the callstack where the lock is acquired:
> /data/users/rmcelroy/hgdev/hg/mercurial/localrepo.py(1271)wlock()
-> l = self._wlockref and self._wlockref()
(Pdb) bt
/home/rmcelroy/bin/hgg(43)<module>()
-> mercurial.dispatch.run()
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(54)run()
-> sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(116)dispatch()
-> ret = _runcatch(req)
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(187)_runcatch()
-> return _dispatch(req)
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(920)_dispatch()
-> cmdpats, cmdoptions)
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(679)runcommand()
-> ret = _runcommand(ui, options, cmd, d)
/data/users/rmcelroy/hgdev/hg/mercurial/extensions.py(183)closure()
-> return func(*(args + a), **kw)
/data/users/rmcelroy/hgdev/hg/hgext/pager.py(130)pagecmd()
-> return orig(ui, options, cmd, cmdfunc)
/data/users/rmcelroy/hgdev/hg/mercurial/extensions.py(183)closure()
-> return func(*(args + a), **kw)
/data/users/rmcelroy/hgdev/hg/hgext/color.py(525)colorcmd()
-> return orig(ui_, opts, cmd, cmdfunc)
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(1051)_runcommand()
-> return checkargs()
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(1011)checkargs()
-> return cmdfunc()
/data/users/rmcelroy/hgdev/hg/mercurial/dispatch.py(917)<lambda>()
-> d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
/data/users/rmcelroy/hgdev/hg/mercurial/util.py(796)check()
-> return func(*args, **kwargs)
/data/users/rmcelroy/hgdev/hg/mercurial/extensions.py(183)closure()
-> return func(*(args + a), **kw)
/data/users/rmcelroy/hgdev/hg/mercurial/util.py(796)check()
-> return func(*args, **kwargs)
/usr/lib/python2.6/site-packages/hgsubversion/wrappers.py(63)parents()
-> return orig(ui, repo, *args, **opts)
/data/users/rmcelroy/hgdev/hg/mercurial/util.py(796)check()
-> return func(*args, **kwargs)
/data/users/rmcelroy/hgdev/hg/mercurial/extensions.py(183)closure()
-> return func(*(args + a), **kw)
/data/users/rmcelroy/hgdev/hg/mercurial/util.py(796)check()
-> return func(*args, **kwargs)
/usr/lib/python2.6/site-packages/evolve.py(692)wrapmayobsoletewc()
-> wlock = repo.wlock()
> /data/users/rmcelroy/hgdev/hg/mercurial/localrepo.py(1271)wlock()
-> l = self._wlockref and self._wlockref()
(Pdb)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list