From: Ryan Cumming <etaoins@xxxxxxxxx> git p4 was moved out of contrib in 1.7.11 but it git-completion didn't know about it. Add git p4 completion based on the existing SVN completion. It covers all known subcommands and options except for the -/ option for clone which doesn't use the standard -- prefix. Signed-off-by: Ryan Cumming <etaoins@xxxxxxxxx> --- contrib/completion/git-completion.bash | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index c48cd19..c6140be 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1459,6 +1459,50 @@ _git_notes () esac } +_git_p4 () +{ + local subcommands=" + clone sync rebase submit + " + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + else + local common_opts="--git-dir= --verbose" + local sync_opts=" + --branch= --detect-branches --changes-file= + --silent --detect-labels --import-labels + --import-local --max-changes= --keep-path + --use-client-spec $common_opts + " + local clone_opts=" + --destination= --bare $sync_opts + " + local submit_opts=" + --origin= -M --preserve-user --export-labels + $common_opts + " + + case "$subcommand,$cur" in + clone,--*) + __gitcomp "$clone_opts" + ;; + sync,--*) + __gitcomp "$sync_opts" + ;; + rebase,--*) + __gitcomp "$common_opts --import-labels" + ;; + submit,--*) + __gitcomp "$submit_opts" + ;; + submit,*) + __gitcomp "$(__git_refs)" + ;; + esac + fi +} + _git_pull () { __git_complete_strategy && return -- 1.7.12.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html