Merge branch 'sg/config-name-only'
"git config --list" output was hard to parse when values consist of multiple lines. "--name-only" option is added to help this. * sg/config-name-only: get_urlmatch: avoid useless strbuf write format_config: simplify buffer handling format_config: don't init strbuf config: restructure format_config() for better control flow completion: list variable names reliably with 'git config --name-only' config: add '--name-only' option to list only variable names
This commit is contained in:
@ -744,9 +744,8 @@ __git_compute_porcelain_commands ()
|
||||
__git_get_config_variables ()
|
||||
{
|
||||
local section="$1" i IFS=$'\n'
|
||||
for i in $(git --git-dir="$(__gitdir)" config --get-regexp "^$section\..*" 2>/dev/null); do
|
||||
i="${i#$section.}"
|
||||
echo "${i/ */}"
|
||||
for i in $(git --git-dir="$(__gitdir)" config --name-only --get-regexp "^$section\..*" 2>/dev/null); do
|
||||
echo "${i#$section.}"
|
||||
done
|
||||
}
|
||||
|
||||
@ -1777,15 +1776,7 @@ __git_config_get_set_variables ()
|
||||
c=$((--c))
|
||||
done
|
||||
|
||||
git --git-dir="$(__gitdir)" config $config_file --list 2>/dev/null |
|
||||
while read -r line
|
||||
do
|
||||
case "$line" in
|
||||
*.*=*)
|
||||
echo "${line/=*/}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
git --git-dir="$(__gitdir)" config $config_file --name-only --list 2>/dev/null
|
||||
}
|
||||
|
||||
_git_config ()
|
||||
@ -1890,6 +1881,7 @@ _git_config ()
|
||||
--get --get-all --get-regexp
|
||||
--add --unset --unset-all
|
||||
--remove-section --rename-section
|
||||
--name-only
|
||||
"
|
||||
return
|
||||
;;
|
||||
|
Reference in New Issue
Block a user