diff options
author | Joey Hess <joey@kitenet.net> | 2011-11-16 00:49:09 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-11-16 00:49:09 -0400 |
commit | 2bb6b02948da8a33b2edcd911fcf3c2597b0ee58 (patch) | |
tree | 631f0694c7b5a17064eb66862230ec666e3871a8 /Command.hs | |
parent | 84784e2ca1ababf21342cba36f7e65b4c3cd303b (diff) |
When not run in a git repository, git-annex can still display a usage message, and "git annex version" even works.
Things that sound simple, but are made hard by the Annex monad being built
with the assumption that there will always be a git repo.
Diffstat (limited to 'Command.hs')
-rw-r--r-- | Command.hs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Command.hs b/Command.hs index d22c2d12f..b66217192 100644 --- a/Command.hs +++ b/Command.hs @@ -7,6 +7,7 @@ module Command ( command, + noRepo, next, stop, prepCommand, @@ -31,9 +32,14 @@ import Logs.Trust import Logs.Location import Config -{- Generates a command with the common checks. -} +{- Generates a normal command -} command :: String -> String -> [CommandSeek] -> String -> Command -command = Command commonChecks +command = Command Nothing commonChecks + +{- Adds a fallback action to a command, that will be run if it's used + - outside a git repository. -} +noRepo :: IO () -> Command -> Command +noRepo a c = c { cmdnorepo = Just a } {- For start and perform stages to indicate what step to run next. -} next :: a -> Annex (Maybe a) |