diff --git a/hgext3rd/clindex.pyx b/hgext3rd/clindex.pyx --- a/hgext3rd/clindex.pyx +++ b/hgext3rd/clindex.pyx @@ -370,6 +370,7 @@ # Simple utilities to log debug messages def _logandraise(vfs, message): _log(vfs, message) + _recover(vfs) raise RuntimeError(message) def _logifraise(vfs, func, infofunc): @@ -377,8 +378,13 @@ return func() except RuntimeError as ex: _log(vfs, 'exception: %r %r' % (ex, infofunc())) + _recover(vfs) raise +def _recover(vfs): + vfs.tryunlink('nodemap') + vfs.tryunlink('childmap') + _logpath = None def _log(vfs, message):