diff --git a/Assistant/Threads/Watcher.hs b/Assistant/Threads/Watcher.hs index b20a8d4d7e..17de03dbc4 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)