summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_git6
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 980827f62..64e72e1a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-25  Clint Adams  <clint@zsh.org>
+
+	* 23841: Completion/Unix/Command/_git: complete tag hashes for git
+	verify-tag.
+
 2007-09-26  Peter Stephenson  <pws@csr.com>
 
 	* users/11883: Src/init.c: "return" at top level caused
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index b89b0c97a..ade0b02f1 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -2676,6 +2676,12 @@ __git_signoff_file () {
 
 (( $+functions[__git_tag_ids] )) ||
 __git_tag_ids () {
+  local -a refs
+
+  refs=(${${(f)"$(_call_program tag_ids git ls-remote --tags ./. 2>/dev/null)"}%$'\t'*})
+  __git_command_successful || return
+
+  _wanted tag_id expl 'tag object hash' compadd - $refs
 }
 
 (( $+functions[__git_heads_or_tags] )) ||