Regression for issue1327 fix

Gilles Moris gilles.moris at free.fr
Wed Nov 11 11:23:01 CST 2009


I just discovered a regression with current version.
Here is the script to reproduce:

rm -rf t
hg init t
cd t

echo a > a
hg ci -qAma

hg mv a b
hg ci -qmb

hg up -q 0
echo c >> a
hg up --debug --traceback
  searching for copies back to rev 1
  unmatched files in other:
   b
Traceback (most recent call last):
  File "/usr/lib64/python2.5/site-packages/mercurial/dispatch.py", line 46, in _runcatch
    return _dispatch(ui, args)
  File "/usr/lib64/python2.5/site-packages/mercurial/dispatch.py", line 448, in _dispatch
    return runcommand(lui, repo, cmd, fullargs, ui, options, d)
  File "/usr/lib64/python2.5/site-packages/mercurial/dispatch.py", line 318, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib64/python2.5/site-packages/mercurial/extensions.py", line 128, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/usr/lib64/python2.5/site-packages/hgext/pager.py", line 62, in pagecmd
    return orig(ui, options, cmd, cmdfunc)
  File "/usr/lib64/python2.5/site-packages/mercurial/dispatch.py", line 499, in _runcommand
    return checkargs()
  File "/usr/lib64/python2.5/site-packages/mercurial/dispatch.py", line 453, in checkargs
    return cmdfunc()
  File "/usr/lib64/python2.5/site-packages/mercurial/dispatch.py", line 447, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib64/python2.5/site-packages/mercurial/util.py", line 386, in check
    return func(*args, **kwargs)
  File "/usr/lib64/python2.5/site-packages/mercurial/commands.py", line 3195, in update
    return hg.update(repo, rev)
  File "/usr/lib64/python2.5/site-packages/mercurial/hg.py", line 339, in update
    stats = _merge.update(repo, node, False, False, None)
  File "/usr/lib64/python2.5/site-packages/mercurial/merge.py", line 493, in update
    action += manifestmerge(repo, wc, p2, pa, overwrite, partial)
  File "/usr/lib64/python2.5/site-packages/mercurial/merge.py", line 159, in manifestmerge
    copy, diverge = copies.copies(repo, p1, p2, pa, dirs)
  File "/usr/lib64/python2.5/site-packages/mercurial/copies.py", line 162, in copies
    checkcopies(f, m2, m1)
  File "/usr/lib64/python2.5/site-packages/mercurial/copies.py", line 139, in checkcopies
    ca = c1.ancestor(c2)
  File "/usr/lib64/python2.5/site-packages/mercurial/context.py", line 454, in ancestor
    actx = self.changectx().ancestor(fc2.changectx())
  File "/usr/lib64/python2.5/site-packages/mercurial/context.py", line 167, in ancestor
    n = self._repo.changelog.ancestor(self._node, c2._node)
  File "/usr/lib64/python2.5/site-packages/mercurial/revlog.py", line 1124, in ancestor
    c = ancestor.ancestor(self.rev(a), self.rev(b), parents)
  File "/usr/lib64/python2.5/site-packages/mercurial/revlog.py", line 509, in rev
    raise LookupError(node, self.indexfile, _('no node'))
LookupError: 00changelog.i at None: no node
abort: 00changelog.i at None: no node!


With bisect, I found that it starts failing from:
changeset:   9750:f153af9580fe
user:        Matt Mackall <mpm at selenic.com>
date:        Sat Nov 07 14:07:45 2009 -0600
summary:     merge: first part of fix for issue1327

Regards.
Gilles.


More information about the Mercurial-devel mailing list