Browse Source

Teach bash to complete ref arguments to git-describe

I'm often finding that I need to run git-describe on very long
remote tracking branch names, to find out what tagged revision
the remote tracking branch is now at (or not at).  Typing out
the ref names is painful, so bash completion on them is a very
useful feature.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
maint
Shawn O. Pearce 17 years ago
parent
commit
217926c08c
  1. 8
      contrib/completion/git-completion.bash

8
contrib/completion/git-completion.bash

@ -525,6 +525,11 @@ _git_commit ()
COMPREPLY=() COMPREPLY=()
} }


_git_describe ()
{
__gitcomp "$(__git_refs)"
}

_git_diff () _git_diff ()
{ {
__git_complete_file __git_complete_file
@ -1065,6 +1070,7 @@ _git ()
cherry-pick) _git_cherry_pick ;; cherry-pick) _git_cherry_pick ;;
commit) _git_commit ;; commit) _git_commit ;;
config) _git_config ;; config) _git_config ;;
describe) _git_describe ;;
diff) _git_diff ;; diff) _git_diff ;;
fetch) _git_fetch ;; fetch) _git_fetch ;;
format-patch) _git_format_patch ;; format-patch) _git_format_patch ;;
@ -1112,6 +1118,7 @@ complete -o default -o nospace -F _git_checkout git-checkout
complete -o default -o nospace -F _git_cherry git-cherry complete -o default -o nospace -F _git_cherry git-cherry
complete -o default -o nospace -F _git_cherry_pick git-cherry-pick complete -o default -o nospace -F _git_cherry_pick git-cherry-pick
complete -o default -o nospace -F _git_commit git-commit complete -o default -o nospace -F _git_commit git-commit
complete -o default -o nospace -F _git_describe git-describe
complete -o default -o nospace -F _git_diff git-diff complete -o default -o nospace -F _git_diff git-diff
complete -o default -o nospace -F _git_fetch git-fetch complete -o default -o nospace -F _git_fetch git-fetch
complete -o default -o nospace -F _git_format_patch git-format-patch complete -o default -o nospace -F _git_format_patch git-format-patch
@ -1145,6 +1152,7 @@ complete -o default -o nospace -F _git git.exe
complete -o default -o nospace -F _git_branch git-branch.exe complete -o default -o nospace -F _git_branch git-branch.exe
complete -o default -o nospace -F _git_bundle git-bundle.exe complete -o default -o nospace -F _git_bundle git-bundle.exe
complete -o default -o nospace -F _git_cherry git-cherry.exe complete -o default -o nospace -F _git_cherry git-cherry.exe
complete -o default -o nospace -F _git_describe git-describe.exe
complete -o default -o nospace -F _git_diff git-diff.exe complete -o default -o nospace -F _git_diff git-diff.exe
complete -o default -o nospace -F _git_format_patch git-format-patch.exe complete -o default -o nospace -F _git_format_patch git-format-patch.exe
complete -o default -o nospace -F _git_log git-log.exe complete -o default -o nospace -F _git_log git-log.exe

Loading…
Cancel
Save