monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] verbosity options


From: Stephen Leake
Subject: Re: [Monotone-devel] verbosity options
Date: Sun, 13 Jun 2010 12:48:31 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (windows-nt)

Timothy Brownawell <address@hidden> writes:

> On 06/13/2010 07:18 AM, Stephen Leake wrote:
>> In starting work on negatable options, I looked thru all of the current
>> boolean options. These are all related, at least in the English meaning
>> of their names:
>>
>> OPT(full, "full", bool, false,
>> GOPT(quiet, "quiet", bool, false,
>> GOPT(reallyquiet, "reallyquiet", bool, false,
>> OPT(verbose, "verbose", bool, false,
>>
>> We could change them to a single verbosity integer, where 0 = normal,<
>> 0 is progressively quieter,>  0 is progressively noisier:
>>
>> <default>    = 0
>> quiet       = -1
>> reallyquiet = -2
>> verbose     = 1
>> full        = 2
>>
>> However, these options are used rarely, or not at all:
>>
>> "full" is used by:
>> CMD_NO_WORKSPACE(version, "version", "", CMD_REF(informative), "",
>> CMD(db_info, "info", "", CMD_REF(db), "",
>>
>> "verbose" is used by:
>> CMD(complete, "complete", "", CMD_REF(informative),
>
> Probably --full could be replaced with --verbose, or they could be
> made identical.

Right.

>> "quiet" and "reallyquiet" are not used at all. Compiling with those
>> options deleted from options_list.hh confirms that.
>
> Those are used. They're global options, and instead of directly
> setting a variable they just call a function on the sanity object.

Ah. Missed that. Reading the code more closely, that is what it says :).

> ...hm, giving '--quiet' or '--reallyquiet' over remote_stdio has
> persistent effects on the server. That's not good.

Because they don't get reset by 'app.opts = original_opts' in
automate_stdio_shared_body, I gather.

--debug, --dump also affect global_sanity. 

--log, --timestamps affect ui; that seems equally bad.

>> So we could keep 'full' and 'verbose' as booleans, and just live with
>> the --no- forms.
>>
>> I think an integer verbosity is more flexible in the long run. Some
>> other tools I've used allow incrementing the integer by repeating -v;
>> that's a simple interface. But that should be done in another branch,
>> separate from the negatable options work.
>
> That could be reasonable, replace all four with a global
> "--verbosity=<-2,-1,0,1>". Probably this should be part of resettable
> options, since --quiet and --reallyquiet need to be fixed anyway 

For the undesired affect on the server, you mean?

> and can be made resettable along the way.

Ok.

If we remove names, we need a deprecate mechanism. Or maybe not; we
could say "we're not at 1.0 yet". But we will after that.

>> For now, any objections to deleting "quiet" and "reallyquiet" from nvm?
>
> They turn off tickers and P() messages, and --reallyquiet also turns
> off W() messages. We probably want to keep them.

Yes.

I don't see an easy way to make W use an option in app.opts; we
certainly don't want to change it to take an app argument.

One fix is to have automate_shared_body save and restore the value of
these global options (verbosity, debug, dump, log, and timestamps), as
it does app.opts.

But we need a cleaner way to do that, so if more global options are
added, they also get restored.

-- 
-- Stephe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]