From c4327d0099c1d43afc712987cb18208e4e2ddbb5 Mon Sep 17 00:00:00 2001 From: Tim Byrne Date: Sun, 7 Feb 2021 16:30:27 -0600 Subject: [PATCH] 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. --- completion/bash/yadm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/completion/bash/yadm b/completion/bash/yadm index f8cfe87..bb3609d 100644 --- a/completion/bash/yadm +++ b/completion/bash/yadm @@ -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