From: Pete Wyckoff Date: Wed, 26 Sep 2012 00:48:38 GMT Subject: Re: [PATCH] Teach git-completion about git p4 Message-ID: <20120926004838.GA29907@padd.com> In-Reply-To: <1348264271-99395-1-git-send-email-rcumming@ea.com> etaoins@gmail.com 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >