diff options
author | Joey Hess <joey@kitenet.net> | 2010-12-30 16:52:24 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-12-30 16:52:24 -0400 |
commit | 7a52b34e0631609d5d862c3ba100cc499b30b5fa (patch) | |
tree | 378440e7746ee941f1f777f0c23862d71e4693fe /Options.hs | |
parent | 88ff9e82fc3dcb653b2a116f1c162d98a1f6bdcf (diff) |
add git-annex-shell command
This is not yet complete, as it does not allow starting rsync or scp.
Diffstat (limited to 'Options.hs')
-rw-r--r-- | Options.hs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Options.hs b/Options.hs new file mode 100644 index 000000000..684aed97d --- /dev/null +++ b/Options.hs @@ -0,0 +1,44 @@ +{- git-annex dashed options + - + - Copyright 2010 Joey Hess <joey@kitenet.net> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +module Options where + +import System.Console.GetOpt + +import qualified Annex +import Types +import Command + +{- Each dashed command-line option results in generation of an action + - in the Annex monad that performs the necessary setting. + -} +type Option = OptDescr (Annex ()) + +storeOptBool :: FlagName -> Bool -> Annex () +storeOptBool name val = Annex.flagChange name $ FlagBool val +storeOptString :: FlagName -> String -> Annex () +storeOptString name val = Annex.flagChange name $ FlagString val + +commonOptions :: [Option] +commonOptions = [ + Option ['f'] ["force"] (NoArg (storeOptBool "force" True)) + "allow actions that may lose annexed data" + , Option ['q'] ["quiet"] (NoArg (storeOptBool "quiet" True)) + "avoid verbose output" + , Option ['v'] ["verbose"] (NoArg (storeOptBool "quiet" False)) + "allow verbose output" + , Option ['b'] ["backend"] (ReqArg (storeOptString "backend") paramName) + "specify default key-value backend to use" + , Option ['k'] ["key"] (ReqArg (storeOptString "key") paramKey) + "specify a key to use" + , Option ['t'] ["to"] (ReqArg (storeOptString "torepository") paramRemote) + "specify to where to transfer content" + , Option ['f'] ["from"] (ReqArg (storeOptString "fromrepository") paramRemote) + "specify from where to transfer content" + , Option ['x'] ["exclude"] (ReqArg (storeOptString "exclude") paramGlob) + "skip files matching the glob pattern" + ] |