On Thu, Apr 05, 2018 at 06:29:18PM -0400, Eric Sunshine wrote: > On Wed, Apr 4, 2018 at 10:00 PM, Taylor Blau <me@xxxxxxxxxxxx> wrote: > > [...] > > In this patch, we prefer `--type=[int|bool|bool-or-int|...]` over > > `--int`, `--bool`, and etc. This allows the aforementioned upcoming > > patch to support querying a color value with a default via `--type=color > > --default=....` > > > > Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> > > --- > > diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt > > @@ -38,12 +38,10 @@ existing values that match the regexp are updated or unset. If > > +A type specifier may be given as an argument to `--type` to make 'git config' > > In [1], you said that the argument to --type is required, so use of > "may be given" here is ambiguous; it makes it sound as if the argument > is optional. Perhaps rewrite something like: > > The --type option requests `git config` to ... Thanks; I agree that this is much clearer. > Not necessarily worth a re-roll, though. (But if you do need to > re-roll for some reason, it might make sense to combine this series > with the --default series to make it slightly easier to review them > together -- since the one depends upon the other -- and probably ease > the burden on Junio slightly.) I am re-rolling for some of the additional feedback, and have included the above changes in it. That being the case, I think that I would like to hold off on merging the two together, since they are separate topics and should be merged as-such. If this list feels differently, however, I can happily merge the two. > > diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh > > @@ -1622,4 +1623,21 @@ test_expect_success 'later legacy specifiers are given precedence' ' > > +test_expect_success '--no-type unsets type specifiers' ' > > + echo "10" > expect && > > + git config --type=bool --no-type core.number >actual && > > + test_cmp expect actual > > +' > > What does --no-type mean and why is it being tested? If this is an > explicitly supported user-facing option, should it be documented? If > it's not meant to be user-facing, then why are we enforcing its > presence and behavior via a test? I think that --no-type should be documented. It means "unset any previously set --type=<type> or --<type>". For example, "git config --type=bool --no-type core.var" is a synonym of "git config core.var". This option is useful for callers that would like to overwrite scripts that impose a specific type specifier. (For example, my mail script invokes "git format-patch --thread $@", but I can disable threading if I run my script with "--no-thread".) Thanks, Taylor