kqueue bugfix: apply pruner to changed files
It already applied the pruner when traversing directories, so .git is excluded, but .gitignore was not. Now it is.
This commit is contained in:
parent
1363cea260
commit
364ae8317d
2 changed files with 4 additions and 3 deletions
|
@ -102,8 +102,8 @@ watchDir dir prune hooks runstartup = do
|
|||
#if WITH_KQUEUE
|
||||
type DirWatcherHandle = ThreadId
|
||||
watchDir :: FilePath -> Pruner -> WatchHooks -> (IO Kqueue.Kqueue -> IO Kqueue.Kqueue) -> IO DirWatcherHandle
|
||||
watchDir dir ignored hooks runstartup = do
|
||||
kq <- runstartup $ Kqueue.initKqueue dir ignored
|
||||
watchDir dir prune hooks runstartup = do
|
||||
kq <- runstartup $ Kqueue.initKqueue dir prune
|
||||
forkIO $ Kqueue.runHooks kq hooks
|
||||
#else
|
||||
type DirWatcherHandle = ()
|
||||
|
|
|
@ -198,7 +198,8 @@ handleChange kq@(Kqueue _ _ dirmap pruner) fd olddirinfo =
|
|||
go =<< catchMaybeIO (getDirInfo $ dirName olddirinfo)
|
||||
where
|
||||
go (Just newdirinfo) = do
|
||||
let changes = olddirinfo // newdirinfo
|
||||
let changes = filter (not . pruner . changedFile) $
|
||||
olddirinfo // newdirinfo
|
||||
let (added, deleted) = partition isAdd changes
|
||||
|
||||
-- Scan newly added directories to add to the map.
|
||||
|
|
Loading…
Add table
Reference in a new issue