[issue3080] crash on update with dirty diverging rename - and divergence not detected

Mads Kiilerich bugs at mercurial.selenic.com
Mon Oct 31 19:56:50 CDT 2011


New submission from Mads Kiilerich <mads at kiilerich.com>:

$ hg up -Cqr 981ce49a243f
$ echo >> tests/test-http
$ hg up -r 2.0-rc --config ui.merge=internal:fail
** unknown exception encountered, please report by visiting
**  http://mercurial.selenic.com/wiki/BugTracker
** Python 2.7.1 (r271:86832, Apr 12 2011, 16:16:18) [GCC 4.6.0 20110331 (Red
Hat 4.6.0-2)]
** Mercurial Distributed SCM (version 2.0-rc+105-87248de09135)
** Extensions loaded: eol, patchbomb, graphlog, mq, hg-git, mbox, convert,
extdiff, transplant, rebase
Traceback (most recent call last):
  File "/home/mk/hg-bin/hg", line 38, in <module>
    mercurial.dispatch.run()
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 27, in run
    sys.exit(dispatch(request(sys.argv[1:])))
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 64, in dispatch
    return _runcatch(req)
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 87, in _runcatch
    return _dispatch(req)
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 684, in _dispatch
    cmdpats, cmdoptions)
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 466, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 738, in _runcommand
    return checkargs()
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 692, in checkargs
    return cmdfunc()
  File "/home/mk/hg-bin/mercurial/dispatch.py", line 681, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/home/mk/hg-bin/mercurial/util.py", line 444, in check
    return func(*args, **kwargs)
  File "/home/mk/hg-bin/mercurial/extensions.py", line 139, in wrap
    util.checksignature(origfn), *args, **kwargs)
  File "/home/mk/hg-bin/mercurial/util.py", line 444, in check
    return func(*args, **kwargs)
  File "/home/mk/hg-bin/hgext/mq.py", line 3229, in mqcommand
    return orig(ui, repo, *args, **kwargs)
  File "/home/mk/hg-bin/mercurial/util.py", line 444, in check
    return func(*args, **kwargs)
  File "/home/mk/hg-bin/mercurial/commands.py", line 5604, in update
    ret = hg.update(repo, rev)
  File "/home/mk/hg-bin/mercurial/hg.py", line 408, in update
    stats = mergemod.update(repo, node, False, False, None)
  File "/home/mk/hg-bin/mercurial/merge.py", line 557, in update
    recordupdates(repo, action, branchmerge)
  File "/home/mk/hg-bin/mercurial/merge.py", line 427, in recordupdates
    repo.dirstate.drop(f)
  File "/home/mk/hg-bin/mercurial/dirstate.py", line 375, in drop
    del self._map[f]
KeyError: 'tests/test-http'

or:
  $ hg init
  $ touch f
  $ hg ci -Aqm0
  $ hg cp f f1
  $ hg cp f f2
  $ hg rm f
  $ hg ci -m1
  $ hg up -qr0
  $ echo f > f
  $ hg up

----------
messages: 17913
nosy: kiilerix
priority: bug
status: unread
title: crash on update with dirty diverging rename - and divergence not detected

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue3080>
____________________________________________________


More information about the Mercurial-devel mailing list