summary refs log tree commit diff
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2007-10-01 19:34:53 +0000
committerClint Adams <clint@users.sourceforge.net>2007-10-01 19:34:53 +0000
commitea7809d5a7e1558e27715a82a369cfcd9678de63 (patch)
tree0479dd036fcdd713386f86dfe52e8fafc9941eb5
parent44b2e3e2b20c96a27c6aaf246202eaf3e2bbd214 (diff)
downloadzsh-ea7809d5a7e1558e27715a82a369cfcd9678de63.tar.gz
zsh-ea7809d5a7e1558e27715a82a369cfcd9678de63.tar.xz
zsh-ea7809d5a7e1558e27715a82a369cfcd9678de63.zip
Nikolai Weibull: 23888: complete branch names and cached files after git log.
-rw-r--r--ChangeLog9
-rw-r--r--Completion/Unix/Command/_git13
2 files changed, 18 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 521503dc0..022c77dd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2007-10-01  Clint Adams  <clint@zsh.org>
 
+	* Nikolai Weibull: 23888: Completion/Unix/Command/_git: complete
+	branch names and cached files after git log.
+
 	* Nikolai Weibull: 23879: Completion/Unix/Command/_git: complete
 	only cached files after git log.
 
@@ -222,6 +225,9 @@
 2007-08-19  Clint Adams  <clint@zsh.org>
 
 	* R.Ramkumar: 23783: Completion/Zsh/Command/_command,
+2007-08-19  Clint Adams  <clint@zsh.org>
+
+	* R.Ramkumar: 23783: Completion/Zsh/Command/_command,
 	Completion/Zsh/Command/_hash, Completion/Zsh/Command/_which,
 	Completion/Zsh/Context/_equal, Completion/Zsh/Type/_command_names:
 	use _path_commands.
@@ -7164,9 +7170,6 @@
 
 	* unposted: Functions/Misc/zrecompile: change "mv" to "mv -f"
 	when backing up .zwc files, because zcompile creates the files
-	read-only.  See thread ending at users/7269.
-
-2004-03-30  Oliver Kiddle  <opk@zsh.org>
 
 	* 19708: Completion/compaudit: change getent() function to
 	handle two arguments
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