diff -r bdb6d97f0a04 -r 6be1e1dbe6a0 mercurial/context.py --- a/mercurial/context.py Sat May 31 16:48:29 2014 -0700 +++ b/mercurial/context.py Mon Aug 04 14:32:34 2014 -0500 @@ -1347,8 +1347,10 @@ try: # updating the dirstate is optional # so we don't wait on the lock + # wlock can invalidate the dirstate, so cache normal _after_ + # taking the lock + wlock = self._repo.wlock(False) normal = self._repo.dirstate.normal - wlock = self._repo.wlock(False) try: for f in fixup: normal(f)