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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html