diff options
Diffstat (limited to 'Assistant/Threads')
-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 c2ba90ebe..89cef6ea7 100644 --- a/Assistant/Threads/Watcher.hs +++ b/Assistant/Threads/Watcher.hs @@ -184,8 +184,11 @@ onAdd matcher file filestatus | otherwise = noChange {- In direct mode, add events are received for both new files, and - - modified existing files. Or, in some cases, existing files that have not - - really been modified. -} + - modified existing files. + - + - It's possible to get an add event for an existing file that is not + - really modified, but it might have just been deleted and been put back, + - so it's restaged to make sure. -} onAddDirect :: FileMatcher -> Handler onAddDirect matcher file fs = do debug ["add direct", file] @@ -193,7 +196,7 @@ onAddDirect matcher file fs = do case (v, fs) of (Just key, Just filestatus) -> ifM (liftAnnex $ sameFileStatus key filestatus) - ( noChange + ( add matcher file , do liftAnnex $ changedDirect key file add matcher file |