summaryrefslogtreecommitdiff
path: root/Options.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-09-15 13:30:04 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-09-15 13:30:04 -0400
commit984c9fc0523bcd3bfcd7de83f4f7974daa6872bc (patch)
tree21b8ad88a6f300b98a21f6f3e4644920fa24c058 /Options.hs
parent81984e60acb920fffc969818e63604060636aa09 (diff)
remove optimize subcommand; use --auto instead
get, drop: Added --auto option, which decides whether to get/drop content as needed to work toward the configured numcopies. The problem with bundling it up in optimize was that I then found I wanted to run an optmize that did not drop files, only got them. Considered adding a --only-get switch to it, but that seemed wrong. Instead, let's make existing subcommands optionally smarter. Note that the only actual difference between drop and drop --auto is that the latter does not even try to drop a file if it knows of not enough copies, and does not print any error messages about files it was unable to drop. It might be nice to make get avoid asking git for attributes when not in auto mode. For now it always asks for attributes.
Diffstat (limited to 'Options.hs')
-rw-r--r--Options.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/Options.hs b/Options.hs
index e0ca48c01..ee3ce6620 100644
--- a/Options.hs
+++ b/Options.hs
@@ -26,6 +26,8 @@ commonOptions =
"allow actions that may lose annexed data"
, Option ['F'] ["fast"] (NoArg (setfast True))
"avoid slow operations"
+ , Option ['a'] ["auto"] (NoArg (setauto True))
+ "automatic mode"
, Option ['q'] ["quiet"] (NoArg (setoutput Annex.QuietOutput))
"avoid verbose output"
, Option ['v'] ["verbose"] (NoArg (setoutput Annex.NormalOutput))
@@ -40,6 +42,7 @@ commonOptions =
where
setforce v = Annex.changeState $ \s -> s { Annex.force = v }
setfast v = Annex.changeState $ \s -> s { Annex.fast = v }
+ setauto v = Annex.changeState $ \s -> s { Annex.auto = v }
setoutput v = Annex.changeState $ \s -> s { Annex.output = v }
setforcebackend v = Annex.changeState $ \s -> s { Annex.forcebackend = Just v }
setdebug = liftIO $ updateGlobalLogger rootLoggerName $