diff options
author | Joey Hess <joey@kitenet.net> | 2012-12-24 14:42:19 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-12-24 14:42:19 -0400 |
commit | e8abfbba6c46f5a31139d0fb37b592d0db9c278c (patch) | |
tree | b0453d5bb6555de08e5fae50e6a8598a30f00c08 /Assistant/Threads/Watcher.hs | |
parent | e0b543af10599f0fe382b39955e89101534d7bcb (diff) |
assistant adding of modified files in direct mode
Works with inotify, but I think in kqueue we don't get events
existing files that get modified.
Diffstat (limited to 'Assistant/Threads/Watcher.hs')
-rw-r--r-- | Assistant/Threads/Watcher.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Assistant/Threads/Watcher.hs b/Assistant/Threads/Watcher.hs index c0a1ea0b9..fd59f1b27 100644 --- a/Assistant/Threads/Watcher.hs +++ b/Assistant/Threads/Watcher.hs @@ -35,6 +35,7 @@ import qualified Backend import Annex.Content import Annex.CatFile import Git.Types +import Config import Data.Bits.Utils import qualified Data.ByteString.Lazy as L @@ -58,7 +59,8 @@ needLsof = error $ unlines watchThread :: NamedThread watchThread = NamedThread "Watcher" $ do startup <- asIO1 startupScan - addhook <- hook onAdd + direct <- liftAnnex isDirect + addhook <- hook $ onAdd direct delhook <- hook onDel addsymlinkhook <- hook onAddSymlink deldirhook <- hook onDelDir @@ -124,8 +126,9 @@ runHandler handler file filestatus = void $ do liftAnnex $ Annex.Queue.flushWhenFull recordChange change -onAdd :: Handler -onAdd file filestatus +onAdd :: Bool -> Handler +onAdd isdirect file filestatus + | isdirect = pendingAddChange file | maybe False isRegularFile filestatus = pendingAddChange file | otherwise = noChange |