Issue #2385 duplicate
Anonymous created an issue

What I was doing: List of commits + 1 patch (applied) on top.

  • originally no changes in "working directory"
  • select patch
  • deselect one file in the patch
  • Hit QRefresh, TortoiseHg is slow to respond
  • While TortoiseHg still apparently working, select "Working directory" - no changes appeared
  • hit refresh - still no changes
  • select patch again => error

Afterwards, things look normal - the deselected file now appears as a change in the working directory. Tried to do a QRefresh again (without actually changing anything) - it takes around 10 sec - patch has ~100 files, a few binary, none very large.

** Mercurial version (2.3.1).  TortoiseHg version (2.5)
** Command: --nofork workbench
** CWD: D:\_src.NET_\CTUCsharpRuntime-hg
** Encoding: cp1252
** Extensions loaded: rebase, bugzilla, graphlog, mq, zeroconf, hgsubversion, highlight
** Python version: 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1')
** Processor architecture: x64
** Qt-4.8.0 PyQt-4.9.1
Traceback (most recent call last):
  File "tortoisehg\hgqt\status.pyo", line 414, in onCurrentChange
  File "tortoisehg\hgqt\fileview.pyo", line 340, in displayFile
  File "tortoisehg\hgqt\filedata.pyo", line 34, in __init__
  File "tortoisehg\hgqt\filedata.pyo", line 126, in readStatus
  File "mercurial\context.pyo", line 974, in flags
  File "mercurial\util.pyo", line 245, in __get__
  File "mercurial\context.pyo", line 831, in _flagfunc
  File "mercurial\dirstate.pyo", line 166, in flagfunc
  File "mercurial\context.pyo", line 805, in _buildflagfunc
  File "mercurial\context.pyo", line 171, in manifest
  File "mercurial\util.pyo", line 245, in __get__
  File "mercurial\context.pyo", line 141, in _manifest
  File "mercurial\manifest.pyo", line 56, in read
  File "mercurial\revlog.pyo", line 906, in revision
  File "mercurial\revlog.pyo", line 915, in _checkhash
RevlogError: integrity check failed on 00manifest.i:99

Comments (3)

  1. Steve Borho

    This is pretty typical for qrefresh, since it is doing some revlog unfriendly truncates. We try to prevent thg refreshes during the qrefresh operation, but this is not foolproof.

    Future versions of MQ will use changeset evolution instead of revlog truncation (I hope) and these problems will disappear.

    If the repository passes verify, you can ignore these tracebacks.

  2. Log in to comment