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('!')