Re: [PATCH] bash completion: Add --recurse-submodules
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 11, 2014, 19:18 UTC
- Message-ID
- <xmqqtxc5pif5.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <874n466fyo.fsf@gmail.com>
Keshav Kini <keshav.kini@gmail.com> writes:
Show 8 quoted lines
> Sup Yut Sum <ch3cooli@gmail.com> writes: > >> Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com> >> --- >> contrib/completion/git-completion.bash | 19 ++++++++++++++++++- >> 1 file changed, 18 insertions(+), 1 deletion(-) > > Aren't you missing a commit message?
The title itself is almost sufficient, I would think. It may need to mention that this is only for fetch, pull and push. I'll tentatively queue the following.
Stripping the leftmost constant string with ${var##constant} looks somewhat strange (why wouldn't a single # work?), but that is not a new problem this patch introduces, and can be cleaned up separately if/when somebody wants to.
-- >8 -- From: Sup Yut Sum <ch3cooli@gmail.com> Date: Sun, 9 Feb 2014 22:35:31 +0800 Subject: [PATCH] completion: teach --recurse-submodules to fetch, pull and push
Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> --- contrib/completion/git-completion.bash | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 8aaf214..c044a68 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1221,14 +1221,20 @@ _git_difftool () __git_complete_revlist_file } +__git_fetch_recurse_submodules="yes on-demand no" + __git_fetch_options=" --quiet --verbose --append --upload-pack --force --keep --depth= - --tags --no-tags --all --prune --dry-run + --tags --no-tags --all --prune --dry-run --recurse-submodules= " _git_fetch () { case "$cur" in + --recurse-submodules=*) + __gitcomp "$__git_fetch_recurse_submodules" "" "${cur##--recurse-submodules=}" + return + ;; --*) __gitcomp "$__git_fetch_options" return @@ -1577,6 +1583,10 @@ _git_pull () __git_complete_strategy && return case "$cur" in + --recurse-submodules=*) + __gitcomp "$__git_fetch_recurse_submodules" "" "${cur##--recurse-submodules=}" + return + ;; --*) __gitcomp " --rebase --no-rebase @@ -1589,6 +1599,8 @@ _git_pull () __git_complete_remote_or_refspec } +__git_push_recurse_submodules="check on-demand" + _git_push () { case "$prev" in @@ -1601,10 +1613,15 @@ _git_push () __gitcomp_nl "$(__git_remotes)" "" "${cur##--repo=}" return ;; + --recurse-submodules=*) + __gitcomp "$__git_push_recurse_submodules" "" "${cur##--recurse-submodules=}" + return + ;; --*) __gitcomp " --all --mirror --tags --dry-run --force --verbose --receive-pack= --repo= --set-upstream + --recurse-submodules= " return ;;
-- 1.9.0-rc3-244-g3497008