Re: [PATCH] mergetool: new config guiDefault supports auto-toggling gui by DISPLAY
- From
Tao Klerks <tao@klerks.biz>
- Date
- Oct 16, 2022, 20:07 UTC
- Message-ID
- <CAPMMpohBOk2eQMbMxJhjr7cezrhMxVfaS--Aq8jJ1e-LQbEjrw@mail.gmail.com>
- In-Reply-To
- <xmqqilkmbelx.fsf@gitster.g>
On Fri, Oct 14, 2022 at 5:37 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
>
> Tao Klerks <tao@klerks.biz> writes:
>
> > My understanding, from ad-hoc testing, is that using OPT_BOOL causes
> > the target variable ("use_gui_tool" in this case) to *always* be set
> > to either "1" or "0", regardless of whether the user sets the main
> > flag, the --no form of the flag, or sets nothing at all.
>
> You are saying "git gc --keep-largest-pack" is broken ;-)Now that I look at that, that does appear to have been implied by what I was saying, yes!
Show 5 quoted lines
> > OPT_BOOL() and OPT_BOOL_F() are OPT_SET_INT() in disguise and there > is no "set to this default value if no command line option is given" > involved. At least I do not recall allowing such a code in. >
I can confirm that it works the way you expected. I was sure I had experienced such behavior during my early attempts at tristate handling here, but in retrospect I was very much mistaken, not only because --keep-largest-pack is not broken, but also because I just ripped out all the arg-parsing function and enum stuff, and it all works fine with -1, 0 and 1 as you pointed out it should. I don't know exactly how I messed up my early testing, but I don't suppose it matters.
Substantial simplification in the next update.
Thanks!