From: "Shawn O. Pearce" <spearce@spearce.org>
To: Jay Soffian <jaysoffian@gmail.com>
Cc: git@vger.kernel.org, Markus Heidelberg <markus.heidelberg@web.de>,
Sverre Rabbelier <srabbelier@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 2/3] bash completion: refactor --strategy completion
Date: Fri, 6 Mar 2009 08:04:52 -0800 [thread overview]
Message-ID: <20090306160452.GH16213@spearce.org> (raw)
In-Reply-To: <2d83927582e9eed004b9fd12b77105a184277229.1236314073.git.jaysoffian@gmail.com>
Jay Soffian <jaysoffian@gmail.com> wrote:
> The code to complete --strategy was duplicated between _git_rebase and
> _git_merge, and is about to gain a third caller (_git_pull). This patch
> factors it into its own function.
>
> Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Looks OK to me, but I had to squash this in to get it to work.
Without this the patch breaks git merge completion entirely:
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 9e16576..80d464b 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -449,15 +449,15 @@ __git_complete_strategy ()
case "${COMP_WORDS[COMP_CWORD-1]}" in
-s|--strategy)
__gitcomp "$(__git_merge_strategies)"
- return 1
+ return 0
esac
case "$cur" in
--strategy=*)
__gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
- return 1
+ return 0
;;
esac
- return 0
+ return 1
}
__git_all_commands ()
@@ -1111,9 +1111,8 @@ _git_log ()
_git_merge ()
{
- __git_complete_strategy && return
-
local cur="${COMP_WORDS[COMP_CWORD]}"
+ __git_complete_strategy && return
case "$cur" in
--*)
__gitcomp "
> ---
> contrib/completion/git-completion.bash | 37 ++++++++++++++++---------------
> 1 files changed, 19 insertions(+), 18 deletions(-)
>
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index b347fdd..8924185 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -440,6 +440,22 @@ __git_complete_remote_or_refspec ()
> esac
> }
>
> +__git_complete_strategy ()
> +{
> + case "${COMP_WORDS[COMP_CWORD-1]}" in
> + -s|--strategy)
> + __gitcomp "$(__git_merge_strategies)"
> + return 1
> + esac
> + case "$cur" in
> + --strategy=*)
> + __gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
> + return 1
> + ;;
> + esac
> + return 0
> +}
> +
> __git_all_commands ()
> {
> if [ -n "$__git_all_commandlist" ]; then
> @@ -1086,17 +1102,10 @@ _git_log ()
>
> _git_merge ()
> {
> + __git_complete_strategy && return
> +
> local cur="${COMP_WORDS[COMP_CWORD]}"
> - case "${COMP_WORDS[COMP_CWORD-1]}" in
> - -s|--strategy)
> - __gitcomp "$(__git_merge_strategies)"
> - return
> - esac
> case "$cur" in
> - --strategy=*)
> - __gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
> - return
> - ;;
> --*)
> __gitcomp "
> --no-commit --no-stat --log --no-log --squash --strategy
> @@ -1165,16 +1174,8 @@ _git_rebase ()
> __gitcomp "--continue --skip --abort"
> return
> fi
> - case "${COMP_WORDS[COMP_CWORD-1]}" in
> - -s|--strategy)
> - __gitcomp "$(__git_merge_strategies)"
> - return
> - esac
> + __git_complete_strategy && return
> case "$cur" in
> - --strategy=*)
> - __gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}"
> - return
> - ;;
> --*)
> __gitcomp "--onto --merge --strategy --interactive"
> return
> --
> 1.6.2.rc2.332.g5d21b
>
--
Shawn.
next prev parent reply other threads:[~2009-03-06 16:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-06 4:39 [PATCH 0/3] improve bash completion of fetch, pull, and push Jay Soffian
2009-03-06 4:39 ` [PATCH 1/3] bash completion: fix completion issues with " Jay Soffian
2009-03-06 15:58 ` Shawn O. Pearce
2009-03-11 10:02 ` Nanako Shiraishi
2009-03-11 14:57 ` Jay Soffian
2009-03-06 4:39 ` [PATCH 2/3] bash completion: refactor --strategy completion Jay Soffian
2009-03-06 16:04 ` Shawn O. Pearce [this message]
2009-03-06 16:12 ` Jay Soffian
2009-03-06 16:16 ` Shawn O. Pearce
2009-03-06 16:30 ` Jay Soffian
2009-03-06 16:32 ` Shawn O. Pearce
2009-03-06 4:39 ` [PATCH 3/3] bash completion: teach fetch, pull, and push to complete their options Jay Soffian
2009-03-06 16:15 ` Shawn O. Pearce
2009-03-06 6:43 ` [PATCH 0/3] improve bash completion of fetch, pull, and push Sverre Rabbelier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090306160452.GH16213@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jaysoffian@gmail.com \
--cc=markus.heidelberg@web.de \
--cc=srabbelier@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).