On Wed, May 27, 2015 at 10:07:19PM +0200, SZEDER Gábor wrote:

> Help the completion script by introducing the '--list-names' and
> '--get-names-regexp' options, the "names-only" equivalents of '--list' and
> '--get-regexp', so it doesn't have to separate variable names from their
> values anymore.

Thanks, this sounds like the best solution. It should be a tiny bit more
efficient, too, though I doubt it matters much in practice.

> -'git config' [<file-option>] [-z|--null] -l | --list
> +'git config' [<file-option>] [-z|--null] -l | --list | --list-name

s/list-name/&s/, to match the code (and your commit message).

> @@ -161,6 +166,9 @@ See also <<FILES>>.
>  --list::
>       List all variables set in config file.
>  
> +--list-name::
> +     List the names of all variables set in config file.

Ditto here. Also, now that we have two similar modes, perhaps the
"--list" description above should become:

  List all variables set in config file, along with their values.

> @@ -165,7 +170,14 @@ static int collect_config(const char *key_, const char 
> *value_, void *cb)
>  
>       ALLOC_GROW(values->items, values->nr + 1, values->alloc);
>  
> -     return format_config(&values->items[values->nr++], key_, value_);
> +     if (show_only_keys) {
> +             struct strbuf *buf = &values->items[values->nr++];
> +             strbuf_init(buf, 0);
> +             strbuf_addstr(buf, key_);
> +             strbuf_addch(buf, term);
> +             return 0;
> +     } else
> +             return format_config(&values->items[values->nr++], key_, 
> value_);
>  }

Might it flow a little better to always enter format_config, and then
just return early (before writing the value) when show_key_only is set?

>  cat > expect << EOF
> +beta.noindent
> +nextsection.nonewline
> +123456.a123
> +version.1.2.3eX.alpha
> +EOF
> +
> +test_expect_success 'working --list-names' '
> +     git config --list-names > output &&
> +     test_cmp expect output
> +'
> +
> +cat > expect << EOF

We usually avoid the extra space after redirection operators. But we
also usually match existing code. I'm not sure which is more evil in
this case. ;)

> +test_expect_success '--get-name-regexp' '
> +     git config --get-name-regexp in >output &&
> +     test_cmp expect output
> +'

This one is the odd man out if you are following existing style,
though.

The rest of the patch looks good to me.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to