summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/completion/git-completion.bash8
-rwxr-xr-xt/t9902-completion.sh2
2 files changed, 7 insertions, 3 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index af5ad52bb1..19f60931b0 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -346,7 +346,11 @@ __git_refs ()
local list_refs_from=path remote="${1-}"
local format refs pfx
- if [ -n "$remote" ]; then
+ if [ -z "$remote" ]; then
+ if [ -z "$dir" ]; then
+ return
+ fi
+ else
if __git_is_configured_remote "$remote"; then
# configured remote takes precedence over a
# local directory with the same name
@@ -360,7 +364,7 @@ __git_refs ()
fi
fi
- if [ "$list_refs_from" = path ] && [ -d "$dir" ]; then
+ if [ "$list_refs_from" = path ]; then
case "$cur" in
refs|refs/*)
format="refname"
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index a201b52129..5b4defaa5c 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -599,7 +599,7 @@ test_expect_success '__git_refs - non-existing URL remote - full refs' '
test_must_be_empty "$actual"
'
-test_expect_failure '__git_refs - not in a git repository' '
+test_expect_success '__git_refs - not in a git repository' '
(
GIT_CEILING_DIRECTORIES="$ROOT" &&
export GIT_CEILING_DIRECTORIES &&