summaryrefslogtreecommitdiff
path: root/Command/Watch.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Command/Watch.hs')
-rw-r--r--Command/Watch.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/Command/Watch.hs b/Command/Watch.hs
index dcd411d43..478631100 100644
--- a/Command/Watch.hs
+++ b/Command/Watch.hs
@@ -5,6 +5,7 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
{-# LANGUAGE BangPatterns #-}
module Command.Watch where
@@ -25,9 +26,12 @@ import qualified Backend
import Annex.Content
import Control.Exception as E
-import System.INotify
import Control.Concurrent.MVar
+#if defined linux_HOST_OS
+import System.INotify
+#endif
+
def :: [Command]
def = [command "watch" paramPaths seek "watch for changes"]
@@ -35,6 +39,7 @@ seek :: [CommandSeek]
seek = [withNothing start]
start :: CommandStart
+#if defined linux_HOST_OS
start = notBareRepo $ do
showStart "watch" "."
showAction "scanning"
@@ -56,6 +61,10 @@ start = notBareRepo $ do
ignored ".gitattributes" = True
ignored _ = False
+#else
+start = error "watch mode is so far only available on Linux"
+#endif
+
{- Runs a handler, inside the Annex monad.
-
- Exceptions by the handlers are ignored, otherwise a whole watcher