Mercurial > public > mercurial-scm > hg-stable
diff hgext/inotify/server.py @ 7302:972737252d05
inotify: server raising an error when removing a file (issue1371)
When a file is deleted via hg rm <file> the dirstate marks the file with a
status of 'r'. The physical file has been deleted, but the inotify server
tries to do a stat on the file after it's been removed.
Patch catches the exception and correctly call updatestatus()
author | Gerard Korsten <soonkia77@gmail.com> |
---|---|
date | Sat, 01 Nov 2008 14:05:13 +0200 |
parents | 810ca383da9c |
children | fd4bf5269733 |
line wrap: on
line diff
--- a/hgext/inotify/server.py Sat Nov 01 15:15:14 2008 +0300 +++ b/hgext/inotify/server.py Sat Nov 01 14:05:13 2008 +0200 @@ -337,10 +337,11 @@ for wfn, state in ds.iteritems(): if not wfn.startswith(wtopdir): continue - status = state[0] - st = self.stat(wfn) - if status == 'r' and not st: - self.updatestatus(wfn, st, status=status) + try: + st = self.stat(wfn) + except OSError: + status = state[0] + self.updatestatus(wfn, None, status=status) else: self.updatestatus(wfn, st) self.check_deleted('!')