diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-02-03 16:12:33 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-02-03 16:12:33 -0800 |
| commit | e5a0d5d8bbeed7d0cb21533f9727591e110f50b8 (patch) | |
| tree | d832eac70fdd06842f431101c655390396fa05ce /contrib/completion | |
| parent | 0cb454c0727efc1e7ef3ea23d7d6391a80769118 (diff) | |
| parent | bc204b742735ae06f65bb20291c95985c9633b7f (diff) | |
| download | git-e5a0d5d8bbeed7d0cb21533f9727591e110f50b8.tar.xz | |
Merge branch 'master' into ds/backfill
* master: (446 commits)
The seventh batch
The sixth batch
The fifth batch
The fourth batch
refs/reftable: fix uninitialized memory access of `max_index`
remote: announce removal of "branches/" and "remotes/"
The third batch
hash.h: drop unsafe_ function variants
csum-file: introduce hashfile_checkpoint_init()
t/helper/test-hash.c: use unsafe_hash_algo()
csum-file.c: use unsafe_hash_algo()
hash.h: introduce `unsafe_hash_algo()`
csum-file.c: extract algop from hashfile_checksum_valid()
csum-file: store the hash algorithm as a struct field
t/helper/test-tool: implement sha1-unsafe helper
trace2: prevent segfault on config collection with valueless true
refs: fix creation of reflog entries for symrefs
ci: wire up Visual Studio build with Meson
ci: raise error when Meson generates warnings
meson: fix compilation with Visual Studio
...
Diffstat (limited to 'contrib/completion')
| -rw-r--r-- | contrib/completion/git-completion.bash | 19 | ||||
| -rw-r--r-- | contrib/completion/meson.build | 16 |
2 files changed, 28 insertions, 7 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 3d4dff3185..413911be3b 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -2331,7 +2331,7 @@ _git_mergetool () return ;; --*) - __gitcomp "--tool= --prompt --no-prompt --gui --no-gui" + __gitcomp "--tool= --tool-help --prompt --no-prompt --gui --no-gui" return ;; esac @@ -2737,12 +2737,17 @@ __git_compute_config_vars_all () __git_config_vars_all="$(git --no-pager help --config)" } +__git_indirect() +{ + eval printf '%s' "\"\$$1\"" +} + __git_compute_first_level_config_vars_for_section () { local section="$1" __git_compute_config_vars local this_section="__git_first_level_config_vars_for_section_${section}" - test -n "${!this_section}" || + test -n "$(__git_indirect "${this_section}")" || printf -v "__git_first_level_config_vars_for_section_${section}" %s \ "$(echo "$__git_config_vars" | awk -F. "/^${section}\.[a-z]/ { print \$2 }")" } @@ -2752,7 +2757,7 @@ __git_compute_second_level_config_vars_for_section () local section="$1" __git_compute_config_vars_all local this_section="__git_second_level_config_vars_for_section_${section}" - test -n "${!this_section}" || + test -n "$(__git_indirect "${this_section}")" || printf -v "__git_second_level_config_vars_for_section_${section}" %s \ "$(echo "$__git_config_vars_all" | awk -F. "/^${section}\.</ { print \$3 }")" } @@ -2907,7 +2912,7 @@ __git_complete_config_variable_name () local section="${pfx%.*.}" __git_compute_second_level_config_vars_for_section "${section}" local this_section="__git_second_level_config_vars_for_section_${section}" - __gitcomp "${!this_section}" "$pfx" "$cur_" "$sfx" + __gitcomp "$(__git_indirect "${this_section}")" "$pfx" "$cur_" "$sfx" return ;; branch.*) @@ -2917,7 +2922,7 @@ __git_complete_config_variable_name () __gitcomp_direct "$(__git_heads "$pfx" "$cur_" ".")" __git_compute_first_level_config_vars_for_section "${section}" local this_section="__git_first_level_config_vars_for_section_${section}" - __gitcomp_nl_append "${!this_section}" "$pfx" "$cur_" "${sfx:- }" + __gitcomp_nl_append "$(__git_indirect "${this_section}")" "$pfx" "$cur_" "${sfx:- }" return ;; pager.*) @@ -2934,7 +2939,7 @@ __git_complete_config_variable_name () __gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "." __git_compute_first_level_config_vars_for_section "${section}" local this_section="__git_first_level_config_vars_for_section_${section}" - __gitcomp_nl_append "${!this_section}" "$pfx" "$cur_" "${sfx:- }" + __gitcomp_nl_append "$(__git_indirect "${this_section}")" "$pfx" "$cur_" "${sfx:- }" return ;; submodule.*) @@ -2944,7 +2949,7 @@ __git_complete_config_variable_name () __gitcomp_nl "$(__git config -f "$(__git rev-parse --show-toplevel)/.gitmodules" --get-regexp 'submodule.*.path' | awk -F. '{print $2}')" "$pfx" "$cur_" "." __git_compute_first_level_config_vars_for_section "${section}" local this_section="__git_first_level_config_vars_for_section_${section}" - __gitcomp_nl_append "${!this_section}" "$pfx" "$cur_" "${sfx:- }" + __gitcomp_nl_append "$(__git_indirect "${this_section}")" "$pfx" "$cur_" "${sfx:- }" return ;; *.*) diff --git a/contrib/completion/meson.build b/contrib/completion/meson.build new file mode 100644 index 0000000000..3a9ddab594 --- /dev/null +++ b/contrib/completion/meson.build @@ -0,0 +1,16 @@ +foreach script : [ + 'git-completion.bash', + 'git-completion.tcsh', + 'git-completion.zsh', + 'git-prompt.sh' +] + if meson.version().version_compare('>=1.3.0') + test_dependencies += fs.copyfile(script) + else + configure_file( + input: script, + output: script, + copy: true, + ) + endif +endforeach |
