Make --json and --quiet suppress automatic init messages

And any other messages that might be output before a command starts.

Fixes a reversion introduced in version 5.20150727.

During the optparse-applicative conversion, I needed a place to run
per-command global option setters, and I made it get run during the seek stage. But
that is too late to have --json and --quiet disable output produced in the
check stage. Fix is just to run those per-command global option setters at
the same time as the all-command global option setters.

This commit was sponsored by Thom May.
This commit is contained in:
Joey Hess 2016-09-05 15:32:59 -04:00
parent c9082cf0e4
commit 219e2fa157
No known key found for this signature in database
GPG key ID: C910D9222512E3C7
6 changed files with 21 additions and 14 deletions

View file

@ -1,6 +1,6 @@
{- git-annex command data types
-
- Copyright 2010-2015 Joey Hess <id@joeyh.name>
- Copyright 2010-2016 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@ -11,6 +11,7 @@ import Data.Ord
import Options.Applicative.Types (Parser)
import Types
import Types.DeferredParse
{- A command runs in these stages.
-
@ -46,6 +47,7 @@ data Command = Command
, cmdsection :: CommandSection
, cmddesc :: String -- description of command for usage
, cmdparser :: CommandParser -- command line parser
, cmdglobaloptions :: [GlobalOption] -- additional global options
, cmdnorepo :: Maybe (Parser (IO ())) -- used when not in a repo
}