about summary refs log tree commit diff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2016-07-28 12:25:52 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2017-02-07 08:43:31 +0000
commit4da5c23dcecde6975869dd7b08e5f9176748d12c (patch)
tree08b16eeff14cb767f3d50d415f22210128c3d0a6 /Completion/Unix/Command
parente641d8e9c13729d716da75c3a4bb7b711c64fb70 (diff)
downloadzsh-4da5c23dcecde6975869dd7b08e5f9176748d12c.tar.gz
zsh-4da5c23dcecde6975869dd7b08e5f9176748d12c.tar.xz
zsh-4da5c23dcecde6975869dd7b08e5f9176748d12c.zip
40493/0001: _git-checkout: No functional change.
This makes the next diff smaller.
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_git22
1 files changed, 9 insertions, 13 deletions
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index b5b3e79eb..8b78b5785 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -473,28 +473,24 @@ _git-checkout () {
       [[ $line[CURRENT] = -* ]] && return
       if (( CURRENT == 1 )) && [[ -z $opt_args[(I)--] ]]; then
         # TODO: Allow A...B
-        local branch_arg='' \
+        local \
               remote_branch_noprefix_arg='remote-branch-names-noprefix::__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=
-          file_arg=
+          _alternative $tree_ish_arg && ret=0
         elif [[ -n $opt_args[(I)--track] ]]; then
-          branch_arg='remote-branches::__git_remote_branch_names'
-          remote_branch_noprefix_arg=
-          tree_ish_arg=
-          file_arg=
+          _alternative remote-branches::__git_remote_branch_names && ret=0
         elif [[ -n ${opt_args[(I)--ours|--theirs|-m|--conflict|--patch]} ]]; then
-          remote_branch_noprefix_arg=
+          _alternative $tree_ish_arg $file_arg && ret=0
+        else
+          _alternative \
+            $remote_branch_noprefix_arg \
+            $tree_ish_arg \
+            $file_arg && ret=0
         fi
 
-        _alternative \
-          $branch_arg \
-          $remote_branch_noprefix_arg \
-          $tree_ish_arg \
-          $file_arg && ret=0
       elif [[ -n ${opt_args[(I)-b|-B|-t|--track|--orphan|--detach]} ]]; then
         _nothing
       elif [[ -n $line[1] ]] && __git_is_treeish $line[1]; then