__gitcomp "$(__git_refs)"
}
+_git_bundle ()
+{
+ local mycword="$COMP_CWORD"
+ case "${COMP_WORDS[0]}" in
+ git)
+ local cmd="${COMP_WORDS[2]}"
+ mycword="$((mycword-1))"
+ ;;
+ git-bundle*)
+ local cmd="${COMP_WORDS[1]}"
+ ;;
+ esac
+ case "$mycword" in
+ 1)
+ __gitcomp "create list-heads verify unbundle"
+ ;;
+ 2)
+ # looking for a file
+ ;;
+ *)
+ case "$cmd" in
+ create)
+ __git_complete_revlist
+ ;;
+ esac
+ ;;
+ esac
+}
+
_git_checkout ()
{
__gitcomp "$(__git_refs)"
__gitcomp "
--max-count= --max-age= --since= --after=
--min-age= --before= --until=
- --root --topo-order --date-order
+ --root --topo-order --date-order --reverse
--no-merges
--abbrev-commit --abbrev=
--relative-date
--author= --committer= --grep=
--all-match
- --pretty= --name-status --name-only
+ --pretty= --name-status --name-only --raw
--not --all
"
return
esac
__gitcomp "$(__git_refs "$remote")" "" "${cur#*:}"
;;
+ +*)
+ __gitcomp "$(__git_refs)" + "${cur#+}"
+ ;;
*)
- __gitcomp "$(__git_refs2)"
+ __gitcomp "$(__git_refs)"
;;
esac
;;
case "$cur" in
--*)
__gitcomp "
- --global --list --replace-all
+ --global --system
+ --list --replace-all
--get --get-all --get-regexp
--add --unset --unset-all
+ --remove-section --rename-section
"
return
;;
remote.*.*)
local pfx="${cur%.*}."
cur="${cur##*.}"
- __gitcomp "url fetch push" "$pfx" "$cur"
+ __gitcomp "
+ url fetch push skipDefaultUpdate
+ receivepack uploadpack tagopt
+ " "$pfx" "$cur"
return
;;
remote.*)
format.headers
gitcvs.enabled
gitcvs.logfile
+ gitcvs.allbinary
+ gitcvs.dbname gitcvs.dbdriver gitcvs.dbuser gitcvs.dvpass
+ gc.packrefs
gc.reflogexpire
gc.reflogexpireunreachable
gc.rerereresolved
i18n.commitEncoding
i18n.logOutputEncoding
log.showroot
+ merge.tool
merge.summary
merge.verbosity
pack.window
+ pack.depth
pull.octopus
pull.twohead
repack.useDeltaBaseOffset
__git_complete_file
}
+_git_stash ()
+{
+ __gitcomp 'list show apply clear'
+}
+
_git ()
{
local i c=1 command __git_dir
add) _git_add ;;
apply) _git_apply ;;
bisect) _git_bisect ;;
+ bundle) _git_bundle ;;
branch) _git_branch ;;
checkout) _git_checkout ;;
cherry) _git_cherry ;;
shortlog) _git_shortlog ;;
show) _git_show ;;
show-branch) _git_log ;;
+ stash) _git_stash ;;
whatchanged) _git_log ;;
*) COMPREPLY=() ;;
esac
complete -o default -o nospace -F _git_apply git-apply
complete -o default -o nospace -F _git_bisect git-bisect
complete -o default -o nospace -F _git_branch git-branch
+complete -o default -o nospace -F _git_bundle git-bundle
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_pick git-cherry-pick
complete -o default -o nospace -F _git_reset git-reset
complete -o default -o nospace -F _git_shortlog git-shortlog
complete -o default -o nospace -F _git_show git-show
+complete -o default -o nospace -F _git_stash git-stash
complete -o default -o nospace -F _git_log git-show-branch
complete -o default -o nospace -F _git_log git-whatchanged
complete -o default -o nospace -F _git_apply git-apply.exe
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_bundle git-bundle.exe
complete -o default -o nospace -F _git_cherry git-cherry.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