Fix compatibility bug with Git completions (#318)

Git 2.30.0 removed an internal function yadm completion depended upon.
This change retains the old function call for compatibility.
This commit is contained in:
Tim Byrne 2021-02-07 16:30:27 -06:00
parent 31071d9ac9
commit c4327d0099
No known key found for this signature in database
GPG Key ID: 14DB4FC2465A4B12
1 changed files with 10 additions and 4 deletions

View File

@ -1,10 +1,12 @@
# test if git completion is missing, but loader exists, attempt to load
if ! declare -F _git > /dev/null && declare -F _completion_loader > /dev/null; then
_completion_loader git
if ! declare -F _git > /dev/null && ! declare -F __git_wrap__git_main > /dev/null; then
if declare -F _completion_loader > /dev/null; then
_completion_loader git
fi
fi
# only operate if git completion is present
if declare -F _git > /dev/null; then
if declare -F _git > /dev/null || declare -F __git_wrap__git_main > /dev/null; then
_yadm() {
@ -66,7 +68,11 @@ if declare -F _git > /dev/null; then
if [[ " ${yadm_switches[*]} " != *" $penultimate "* ]]; then
# TODO: somehow solve the problem with [--yadm-xxx option] being
# incompatible with what git expects, namely [--arg=option]
_git
if declare -F _git > /dev/null; then
_git
else
__git_wrap__git_main
fi
fi
if [[ "$current" =~ ^- ]]; then
local matching