aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-06-24 19:42:16 -0400
committerShawn O. Pearce <spearce@spearce.org>2007-06-24 19:42:16 -0400
commit161fea832a8e8ea7d6cdc1bdc388f19825641a53 (patch)
treed6c4d8fd84d6af3e95bcd986d923fd73cb8be7e9 /contrib
parentaeb59328453cd4f438345ea79ff04c96bccbbbb8 (diff)
downloadgit-161fea832a8e8ea7d6cdc1bdc388f19825641a53.tar.gz
git-161fea832a8e8ea7d6cdc1bdc388f19825641a53.tar.xz
Teach bash how to complete +refspec on git-push
Using `git push origin +foo` to forcefully overwrite the remote branch named foo is a common idiom, especially since + is shorter than the long option --force and can be specified on a per-branch basis. We now complete `git push origin +foo` just like we do the standard `git push origin foo`. The leading + on a branch refspec does not alter the completion. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/completion/git-completion.bash3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c7c996334..f2b10fa5f 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -682,6 +682,9 @@ _git_push ()
esac
__gitcomp "$(__git_refs "$remote")" "" "${cur#*:}"
;;
+ +*)
+ __gitcomp "$(__git_refs)" + "${cur#+}"
+ ;;
*)
__gitcomp "$(__git_refs)"
;;