etaoins@xxxxxxxxx wrote on Fri, 21 Sep 2012 14:51 -0700: > 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. Very nice, thank you. A couple nits. > +_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= It's --changesfile (no dash), weird, but true. > + --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 > + " Very recently we added --dry-run and --prepare-p4-only and --conflict to submit. Follow 8db3865^2 to see the patches for those. > + case "$subcommand,$cur" in > + clone,--*) > + __gitcomp "$clone_opts" > + ;; > + sync,--*) > + __gitcomp "$sync_opts" > + ;; > + rebase,--*) > + __gitcomp "$common_opts --import-labels" This would be prettier if it had its own local rebase_opts. > + 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 > -- 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