threads / patch / 49627

patchcompletion: use __gitcomp_builtin for format-patch

Subject: [PATCH] completion: use __gitcomp_builtin for format-patch

## tl;dr

4 messages between Oct 21, 2018 and Oct 22, 2018. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Nguyễn Thái Ngọc Duy· Oct 21, 2018, 08:41 UTC · lore

This helps format-patch gain completion for a couple new options, notably --range-diff.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 Of course it will be even better if I could complete the ref for
 --range-diff=, but maybe another day.
 contrib/completion/git-completion.bash | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
Show changes to contrib/completion/git-completion.bash +3 −7
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c8fdcf8644..065b922777 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1533,12 +1533,8 @@ _git_fetch ()
 }
 
 __git_format_patch_options="
-	--stdout --attach --no-attach --thread --thread= --no-thread
-	--numbered --start-number --numbered-files --keep-subject --signoff
-	--signature --no-signature --in-reply-to= --cc= --full-index --binary
-	--not --all --cover-letter --no-prefix --src-prefix= --dst-prefix=
-	--inline --suffix= --ignore-if-in-upstream --subject-prefix=
-	--output-directory --reroll-count --to= --quiet --notes
+	--full-index --not --all --no-prefix --src-prefix=
+	--dst-prefix= --notes
 "
 
 _git_format_patch ()
@@ -1551,7 +1547,7 @@ _git_format_patch ()
 		return
 		;;
 	--*)
-		__gitcomp "$__git_format_patch_options"
+		__gitcomp_builtin format-patch "$__git_format_patch_options"
 		return
 		;;
 	esac
-- 
2.19.1.647.g708186aaf9
SZEDER Gábor· Oct 22, 2018, 10:17 UTC · re: Nguyễn Thái Ngọc Duy · lore

Re: [PATCH] completion: use __gitcomp_builtin for format-patch

On Sun, Oct 21, 2018 at 10:41:02AM +0200, Nguyễn Thái Ngọc Duy wrote:
Show 28 quoted lines
> This helps format-patch gain completion for a couple new options,
> notably --range-diff.
> 
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
>  Of course it will be even better if I could complete the ref for
>  --range-diff=, but maybe another day.
> 
>  contrib/completion/git-completion.bash | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index c8fdcf8644..065b922777 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1533,12 +1533,8 @@ _git_fetch ()
>  }
>  
>  __git_format_patch_options="
> -	--stdout --attach --no-attach --thread --thread= --no-thread
> -	--numbered --start-number --numbered-files --keep-subject --signoff
> -	--signature --no-signature --in-reply-to= --cc= --full-index --binary
> -	--not --all --cover-letter --no-prefix --src-prefix= --dst-prefix=
> -	--inline --suffix= --ignore-if-in-upstream --subject-prefix=
> -	--output-directory --reroll-count --to= --quiet --notes
> +	--full-index --not --all --no-prefix --src-prefix=
> +	--dst-prefix= --notes
>  "

$__git_format_patch_options is also used when completing 'git send-email's options, thus removing all these options will badly affect that, and in fact makes 't9902-completion.sh' fail with:

  expecting success:
          test_completion "git send-email --cov" "--cover-letter " &&
          test_completion "git send-email ma" "master "
  
  --- expected    2018-10-22 09:03:42.255325418 +0000
  +++ out_sorted  2018-10-22 09:03:42.255325418 +0000
  @@ -1 +1 @@
  ---cover-letter
  +
  not ok 122 - send-email
  #
  #               test_completion "git send-email --cov" "--cover-letter " &&
  #               test_completion "git send-email ma" "master "
  #
Show 7 quoted lines
>  _git_format_patch ()
> @@ -1551,7 +1547,7 @@ _git_format_patch ()
>  		return
>  		;;
>  	--*)
> -		__gitcomp "$__git_format_patch_options"
> +		__gitcomp_builtin format-patch "$__git_format_patch_options"

You sent out a separate bugfix patch (i.e. not a patch series) "completion: fix __gitcomp_builtin no longer consider extra options" in:

  https://public-inbox.org/git/20181021083731.8009-1-pclouds@gmail.com/

and this patch makes the completion of 'git format-patch' also use extra options... So, does this patch really work without that bugfix?

Show 6 quoted lines
>  		return
>  		;;
>  	esac
> -- 
> 2.19.1.647.g708186aaf9
> 
Duy Nguyen· Oct 22, 2018, 14:25 UTC · re: SZEDER Gábor · lore

Re: [PATCH] completion: use __gitcomp_builtin for format-patch

On Mon, Oct 22, 2018 at 12:17 PM SZEDER Gábor <szeder.dev@gmail.com> wrote:
Show 34 quoted lines
>
> On Sun, Oct 21, 2018 at 10:41:02AM +0200, Nguyễn Thái Ngọc Duy wrote:
> > This helps format-patch gain completion for a couple new options,
> > notably --range-diff.
> >
> > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> > ---
> >  Of course it will be even better if I could complete the ref for
> >  --range-diff=, but maybe another day.
> >
> >  contrib/completion/git-completion.bash | 10 +++-------
> >  1 file changed, 3 insertions(+), 7 deletions(-)
> >
> > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> > index c8fdcf8644..065b922777 100644
> > --- a/contrib/completion/git-completion.bash
> > +++ b/contrib/completion/git-completion.bash
> > @@ -1533,12 +1533,8 @@ _git_fetch ()
> >  }
> >
> >  __git_format_patch_options="
> > -     --stdout --attach --no-attach --thread --thread= --no-thread
> > -     --numbered --start-number --numbered-files --keep-subject --signoff
> > -     --signature --no-signature --in-reply-to= --cc= --full-index --binary
> > -     --not --all --cover-letter --no-prefix --src-prefix= --dst-prefix=
> > -     --inline --suffix= --ignore-if-in-upstream --subject-prefix=
> > -     --output-directory --reroll-count --to= --quiet --notes
> > +     --full-index --not --all --no-prefix --src-prefix=
> > +     --dst-prefix= --notes
> >  "
>
> $__git_format_patch_options is also used when completing 'git
> send-email's options, thus removing all these options will badly
> affect that, and in fact makes 't9902-completion.sh' fail with:

Oops. I guess I was excited about the other fix and forgot to test this patch. Junio please kick it out of 'pu'.

I'll need to think if I could somehow make send-email work without hardcoding a bunch of options in it.,,

-- 
Duy
Johannes Schindelin· Oct 22, 2018, 12:12 UTC · re: Nguyễn Thái Ngọc Duy · lore

Re: [PATCH] completion: use __gitcomp_builtin for format-patch

Hi Duy,
On Sun, 21 Oct 2018, Nguyễn Thái Ngọc Duy wrote:
Show 36 quoted lines
> This helps format-patch gain completion for a couple new options,
> notably --range-diff.
> 
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
>  Of course it will be even better if I could complete the ref for
>  --range-diff=, but maybe another day.
> 
>  contrib/completion/git-completion.bash | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index c8fdcf8644..065b922777 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1533,12 +1533,8 @@ _git_fetch ()
>  }
>  
>  __git_format_patch_options="
> -	--stdout --attach --no-attach --thread --thread= --no-thread
> -	--numbered --start-number --numbered-files --keep-subject --signoff
> -	--signature --no-signature --in-reply-to= --cc= --full-index --binary
> -	--not --all --cover-letter --no-prefix --src-prefix= --dst-prefix=
> -	--inline --suffix= --ignore-if-in-upstream --subject-prefix=
> -	--output-directory --reroll-count --to= --quiet --notes
> +	--full-index --not --all --no-prefix --src-prefix=
> +	--dst-prefix= --notes
>  "
>  
>  _git_format_patch ()
> @@ -1551,7 +1547,7 @@ _git_format_patch ()
>  		return
>  		;;
>  	--*)
> -		__gitcomp "$__git_format_patch_options"
> +		__gitcomp_builtin format-patch "$__git_format_patch_options"

Is it just me, or does this fail t9902 for you, too, where it wants to complete the --cover-letter option for *send-email* (not for *format-patch*)?

See e.g. https://git-for-windows.visualstudio.com/git/_build/results?buildId=22023&view=logs

Ciao, Dscho

Show 8 quoted lines
>  		return
>  		;;
>  	esac
> -- 
> 2.19.1.647.g708186aaf9
> 
> 
> 

← back to recent threads