From: Shawn O. Pearce Date: Sun, 24 Jun 2007 23:42:16 +0000 (-0400) Subject: Teach bash how to complete +refspec on git-push X-Git-Tag: v1.5.3-rc0~50^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=161fea832a8e8ea7d6cdc1bdc388f19825641a53;p=git.git 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 --- 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)" ;;