diff hgext/inotify/server.py @ 11545:db9d16233787 stable

inotify: check all components of filenames against hgignore (issue884) With inotify enabled, files that should be ignored could be detected as untracked by mercurial. This behavior was wrong because inotify's filestatus implementation only matched filenames against ignore patterns, instead of checking if other elements of their paths matched them. This patch fixes the behavior by checking the file paths against the ignore patterns. A new test has also been added to the main inotify test to prevent any regressions.
author Renato Cunha <renatoc@gmail.com>
date Tue, 06 Jul 2010 22:22:18 -0300
parents 08064db9f005
children 34cc8b84407f
line wrap: on
line diff
--- a/hgext/inotify/server.py	Fri Jul 02 15:05:21 2010 +0900
+++ b/hgext/inotify/server.py	Tue Jul 06 22:22:18 2010 -0300
@@ -213,7 +213,9 @@
             if time != int(st_mtime):
                 return 'l'
             return 'n'
-        if type_ == '?' and self.dirstate._ignore(fn):
+        if type_ == '?' and self.dirstate._dirignore(fn):
+            # we must check not only if the file is ignored, but if any part
+            # of its path match an ignore pattern
             return 'i'
         return type_