summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2015-10-25 18:35:50 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2015-10-25 18:52:29 +0000
commit8b5158424637834f242bb1e2114dee4ac7cca328 (patch)
tree98898dc4a46fc8ab9fc58f4a903124d6011e81cc
parentcc19bb96b91904cc650512297df63b834aa42d28 (diff)
downloadzsh-8b5158424637834f242bb1e2114dee4ac7cca328.tar.gz
zsh-8b5158424637834f242bb1e2114dee4ac7cca328.tar.xz
zsh-8b5158424637834f242bb1e2114dee4ac7cca328.zip
36962: _git: Fix completion of RHS of refspecs.
Before this patch, 'git push $remote :<TAB>' completed branch names (as though
by `git branch -a`), instead of completing remote branch names sans the
${remote}/ prefix.
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Command/_git3
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e5b99cd3..e26e62e5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2015-10-25  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
+	* 36962: Completion/Unix/Command/_git: _git: Fix completion of
+	RHS of refspecs.
+
 	* 36964: Completion/Unix/Command/_git: _git: Complete remotes
 	branch names with slashes correctly.
 
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index f22cddb3e..320bfa712 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -5313,7 +5313,8 @@ __git_remotes () {
 __git_ref_specs () {
   # TODO: This needs to deal with a lot more types of things.
   if compset -P '*:'; then
-    __git_heads
+    # TODO: have the caller supply the correct remote name, restrict to refs/remotes/${that_remote}/* only
+    __git_remote_branch_names_noprefix
   else
     compset -P '+'
     if compset -S ':*'; then