Re: [PATCH] bash completion: Add --recurse-submodules
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(-)
Show changes to contrib/completion/git-completion.bash +18 −1
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