diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -73,9 +73,10 @@ class dirstate(object): def _pl(self): try: st = self._opener("dirstate").read(40) - if len(st) == 40: + l = len(st) + if l == 40: return st[:20], st[20:40] - if len(st) < 40: + elif l > 0 and l < 40: raise util.Abort(_('working directory state appears damaged!')) except IOError, err: if err.errno != errno.ENOENT: raise