summaryrefslogtreecommitdiff
path: root/Assistant/Threads/Watcher.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Assistant/Threads/Watcher.hs')
-rw-r--r--Assistant/Threads/Watcher.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/Assistant/Threads/Watcher.hs b/Assistant/Threads/Watcher.hs
index b20a8d4d7..17de03dbc 100644
--- a/Assistant/Threads/Watcher.hs
+++ b/Assistant/Threads/Watcher.hs
@@ -158,7 +158,7 @@ type Handler = FilePath -> Maybe FileStatus -> Assistant (Maybe Change)
-}
runHandler :: Handler -> FilePath -> Maybe FileStatus -> Assistant ()
runHandler handler file filestatus = void $ do
- r <- tryIO <~> handler file filestatus
+ r <- tryIO <~> handler (normalize file) filestatus
case r of
Left e -> liftIO $ print e
Right Nothing -> noop
@@ -167,6 +167,10 @@ runHandler handler file filestatus = void $ do
-- flushing the queue fast enough.
liftAnnex $ Annex.Queue.flushWhenFull
recordChange change
+ where
+ normalize f
+ | "./" `isPrefixOf` file = drop 2 f
+ | otherwise = f
{- Small files are added to git as-is, while large ones go into the annex. -}
add :: FileMatcher -> FilePath -> Assistant (Maybe Change)