inotify: completely ignore events on the repository root
They can only be events on the top directory object. Those events are
meaningless for us: permission changes, repository-wide moves...
And they break the assertion that all events happen in repo/*.
Just ignore them.
Fixes one of the failures of run-test.py --inotify test-permissions
--- a/hgext/inotify/linuxserver.py Fri Dec 11 15:58:09 2009 +0900
+++ b/hgext/inotify/linuxserver.py Fri Dec 11 16:17:39 2009 +0900
@@ -333,6 +333,10 @@
self.ui.note(_('%s reading %d events\n') %
(self.event_time(), len(events)))
for evt in events:
+ if evt.fullpath == self.wprefix[:-1]:
+ # events on the root of the repository
+ # itself, e.g. permission changes or repository move
+ continue
assert evt.fullpath.startswith(self.wprefix)
wpath = evt.fullpath[self.prefixlen:]