[Bug 6056] New: commit fails on non-generaldelta repositories

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Tue Jan 22 07:54:29 UTC 2019


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

            Bug ID: 6056
           Summary: commit fails on non-generaldelta repositories
           Product: Mercurial
           Version: stable branch
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: mathias.demare at gmail.com
                CC: mercurial-devel at mercurial-scm.org

It appears we still have some non-generaldelta repositories, and I just bumped
into an issue with one of them. This occurs on 4.9rc0+11-13c23396c7fe:

env HGRCPATH= HGPLAIN= hg commit -u foo -m "foo"
transaction abort!
rollback completed
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat
4.8.5-28)]
** Mercurial Distributed SCM (version 4.9rc0+11-13c23396c7fe)
** Extensions loaded: 
Traceback (most recent call last):
  File "/bin/hg", line 43, in <module>
    dispatch.run()
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 99, in
run
    status = dispatch(req)
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 225, in
dispatch
    ret = _runcatch(req) or 0
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 376, in
_runcatch
    return _callcatch(ui, _runcatchfunc)
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 384, in
_callcatch
    return scmutil.callcatch(ui, func)
  File "/usr/lib64/python2.7/site-packages/mercurial/scmutil.py", line 165, in
callcatch
    return func()
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 367, in
_runcatchfunc
    return _dispatch(req)
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 1021,
in _dispatch
    cmdpats, cmdoptions)
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 756, in
runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 1030,
in _runcommand
    return cmdfunc()
  File "/usr/lib64/python2.7/site-packages/mercurial/dispatch.py", line 1018,
in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/usr/lib64/python2.7/site-packages/mercurial/util.py", line 1670, in
check
    return func(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/mercurial/commands.py", line 1644,
in commit
    return _docommit(ui, repo, *pats, **opts)
  File "/usr/lib64/python2.7/site-packages/mercurial/commands.py", line 1719,
in _docommit
    node = cmdutil.commit(ui, repo, commitfunc, pats, opts)
  File "/usr/lib64/python2.7/site-packages/mercurial/cmdutil.py", line 2397, in
commit
    return commitfunc(ui, repo, message, matcher, opts)
  File "/usr/lib64/python2.7/site-packages/mercurial/commands.py", line 1717,
in commitfunc
    extra=extra)
  File "/usr/lib64/python2.7/site-packages/mercurial/localrepo.py", line 158,
in wrapper
    return orig(repo.unfiltered(), *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/mercurial/localrepo.py", line 2477,
in commit
    ret = self.commitctx(cctx, True)
  File "/usr/lib64/python2.7/site-packages/mercurial/localrepo.py", line 158,
in wrapper
    return orig(repo.unfiltered(), *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/mercurial/localrepo.py", line 2587,
in commitctx
    added, drop, match=self.narrowmatch())
  File "/usr/lib64/python2.7/site-packages/mercurial/manifest.py", line 1749,
in write
    p1, p2, added, removed, match=match)
  File "/usr/lib64/python2.7/site-packages/mercurial/manifest.py", line 1493,
in add
    cachedelta)
  File "/usr/lib64/python2.7/site-packages/mercurial/revlog.py", line 1885, in
addrevision
    deltacomputer=deltacomputer)
  File "/usr/lib64/python2.7/site-packages/mercurial/revlog.py", line 1900, in
addrawrevision
    deltacomputer=deltacomputer)
  File "/usr/lib64/python2.7/site-packages/mercurial/revlog.py", line 2028, in
_addrevision
    deltainfo = deltacomputer.finddeltainfo(revinfo, fh)
  File "/usr/lib64/python2.7/site-packages/mercurial/revlogutils/deltas.py",
line 995, in finddeltainfo
    candidaterevs = next(groups)
  File "/usr/lib64/python2.7/site-packages/mercurial/revlogutils/deltas.py",
line 643, in _candidategroups
    temptative = candidates.send(good)
  File "/usr/lib64/python2.7/site-packages/mercurial/revlogutils/deltas.py",
line 717, in _refinedgroups
    for candidates in _rawgroups(revlog, p1, p2, cachedelta, snapshots):
  File "/usr/lib64/python2.7/site-packages/mercurial/revlogutils/deltas.py",
line 778, in _rawgroups
    if sparse and parents:
UnboundLocalError: local variable 'parents' referenced before assignment

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


More information about the Mercurial-devel mailing list