diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-06-24 19:42:16 -0400 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-06-24 19:42:16 -0400 |
commit | 161fea832a8e8ea7d6cdc1bdc388f19825641a53 (patch) | |
tree | d6c4d8fd84d6af3e95bcd986d923fd73cb8be7e9 /contrib | |
parent | aeb59328453cd4f438345ea79ff04c96bccbbbb8 (diff) | |
download | git-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-x | contrib/completion/git-completion.bash | 3 |
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)" ;; |