From: Alex Riesen Date: Mon, 19 Oct 2009 07:17:58 GMT Subject: Re: [PATCH] Use "--no-" prefix to switch off some of checkout dwimmery Message-ID: <81b0412b0910190017o2e6dfd47v868517404d362843@mail.gmail.com> In-Reply-To: <7vhbtv7vsr.fsf@alter.siamese.dyndns.org> On Mon, Oct 19, 2009 at 08:16, Junio C Hamano wrote: > Alex Riesen writes: > >> On Mon, Oct 19, 2009 at 08:07, Alex Riesen wrote: >>> On Mon, Oct 19, 2009 at 00:49, Junio C Hamano wrote: >>>> Alex Riesen writes: >>>>> +             OPT_SET_INT(0, "dwim", &dwim_new_local_branch, >>>>> +                         "Guess local branch from remote reference (default)", 0), >>>> >>>> Humph, how does SET_INT know to set it to 1 with --dwim and set it to 0 >>>> with --no-dwim? >>> >>> It seems to do, though (I checked before sending). >>> >> >> Right, just looked at the parse-options: it is defined for all types. >> >> parse-options.c +/get_value >> >>       const int unset = flags & OPT_UNSET; >> ... >>       case OPTION_SET_INT: >>               *(int *)opt->value = unset ? 0 : opt->defval; >>               return 0; >> >> Very useful. > > Ah, did you mean to change the default value to 1 as well? > Err... yes. I (wrongly) assumed that the current value in the storage is the default. Now, having looked at struct option I see that It isn't (and the default is in defval). BTW, why is the option an ...INT? Where a future extension planned?