reject batch options combined with non-batch options

Reject combinations of --batch (or --batch-keys) with options like --all or
--key or with filenames.

Most commands ignored the non-batch items when batch mode was enabled.

For some reason, addurl and dropkey both processed first the specified
non-batch items, followed by entering batch mode. Changed them to also
error out, for consistency.

Sponsored-by: Dartmouth College's Datalad project
This commit is contained in:
Joey Hess 2022-01-26 12:59:55 -04:00
parent 56a12eb84c
commit 835c50966a
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
19 changed files with 50 additions and 27 deletions

View file

@ -33,11 +33,11 @@ seek :: DropKeyOptions -> CommandSeek
seek o = do
unlessM (Annex.getState Annex.force) $
giveup "dropkey can cause data loss; use --force if you're sure you want to do this"
withKeys (commandAction . start) (toDrop o)
case batchOption o of
Batch fmt -> batchInput fmt (pure . parsekey) $
batchCommandAction . start
NoBatch -> noop
NoBatch -> withKeys (commandAction . start) (toDrop o)
Batch fmt -> batchOnly Nothing (toDrop o) $
batchInput fmt (pure . parsekey) $
batchCommandAction . start
where
parsekey = maybe (Left "bad key") Right . deserializeKey