summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_git
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2015-06-07 23:49:32 +0200
committerDaniel Hahler <git@thequod.de>2015-06-08 00:35:01 +0200
commite8cf611879a2d9e6bf84af0dabaa1ff985c96f4e (patch)
tree14f393570a6334e3c16701b8cf398b76d743ae61 /Completion/Unix/Command/_git
parentac26fafa03c30e8c79e4bd70bdbb68d025643ee7 (diff)
downloadzsh-e8cf611879a2d9e6bf84af0dabaa1ff985c96f4e.tar.gz
zsh-e8cf611879a2d9e6bf84af0dabaa1ff985c96f4e.zip
35216: _git-checkout: do not call __git_commits twice
This makes `branch_arg` empty by default, to be used only for __git_remote_branch_names. `branches::__git_revisions` was used here, but that's the same as tree_ish_arg='tree-ishs::__git_tree_ishs' - both call __git_commits. Only tree_ish_arg will call __git-commits now.
Diffstat (limited to 'Completion/Unix/Command/_git')
-rw-r--r--Completion/Unix/Command/_git4
1 files changed, 1 insertions, 3 deletions
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index b8edc109e..088a7dbb7 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -456,14 +456,13 @@ _git-checkout () {
[[ $line[CURRENT] = -* ]] && return
if (( CURRENT == 1 )) && [[ -z $opt_args[(I)--] ]]; then
# TODO: Allow A...B
- local branch_arg='branches::__git_revisions' \
+ local branch_arg='' \
remote_branch_noprefix_arg='remote branches::__git_remote_branch_names_noprefix' \
tree_ish_arg='tree-ishs::__git_tree_ishs' \
file_arg='modified-files::__git_modified_files'
if [[ -n ${opt_args[(I)-b|-B|--orphan|--detach]} ]]; then
remote_branch_noprefix_arg=
- tree_ish_arg=
file_arg=
elif [[ -n $opt_args[(I)--track] ]]; then
branch_arg='remote-branches::__git_remote_branch_names'
@@ -471,7 +470,6 @@ _git-checkout () {
tree_ish_arg=
file_arg=
elif [[ -n ${opt_args[(I)--ours|--theirs|-m|--conflict|--patch]} ]]; then
- branch_arg=
remote_branch_noprefix_arg=
fi