summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_git
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_git')
-rw-r--r--Completion/Unix/Command/_git13
1 files changed, 12 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 5d4a181e2..25d446869 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -1702,11 +1702,22 @@ _git-grep () {
(( $+functions[_git-log] )) ||
_git-log () {
+ local curcontext=$curcontext state line
+ declare -A opt_args
+
__git_setup_revision_arguments
_arguments -S \
$revision_arguments \
- '*:file:__git_cached_files' && ret=0
+ '*:file-or-branch:->files' && ret=0
+
+ case $state in
+ (files)
+ _alternative \
+ 'files:index file:__git_cached_files' \
+ 'branches:branch:__git_branch_names' && ret=0
+ ;;
+ esac
}
# TODO: repository needs fixing