threads / patch / 22418

patchbash: support 'git notes' and its subcommands

Subject: [PATCH] bash: support 'git notes' and its subcommands

## tl;dr

5 messages between Jan 28, 2010 and Jan 28, 2010. Diffs are folded; open one to read it.

replies: 4people: 4as markdown or json

SZEDER Gábor· Jan 28, 2010, 01:05 UTC · lore

... and it will offer refs unless after -m or -F, because these two options require a non-ref argument.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
 contrib/completion/git-completion.bash |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
Show changes to contrib/completion/git-completion.bash +19 −0
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 9651720..8b56c34 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1306,6 +1306,24 @@ _git_name_rev ()
 	__gitcomp "--tags --all --stdin"
 }
 
+_git_notes ()
+{
+	local subcommands="edit show"
+	if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then
+		__gitcomp "$subcommands"
+		return
+	fi
+
+	case "${COMP_WORDS[COMP_CWORD-1]}" in
+	-m|-F)
+		COMPREPLY=()
+		;;
+	*)
+		__gitcomp "$(__git_refs)"
+		;;
+	esac
+}
+
 _git_pull ()
 {
 	__git_complete_strategy && return
@@ -2218,6 +2236,7 @@ _git ()
 	merge-base)  _git_merge_base ;;
 	mv)          _git_mv ;;
 	name-rev)    _git_name_rev ;;
+	notes)       _git_notes ;;
 	pull)        _git_pull ;;
 	push)        _git_push ;;
 	rebase)      _git_rebase ;;
-- 
1.7.0.rc0.28.g3ad3d5
Shawn O. Pearce· Jan 28, 2010, 01:21 UTC · re: SZEDER Gábor · lore

Re: [PATCH] bash: support 'git notes' and its subcommands

SZEDER G??bor <szeder@ira.uka.de> wrote:
Show 7 quoted lines
> ... and it will offer refs unless after -m or -F, because these two
> options require a non-ref argument.
> 
> Signed-off-by: SZEDER G??bor <szeder@ira.uka.de>
> ---
>  contrib/completion/git-completion.bash |   19 +++++++++++++++++++
>  1 files changed, 19 insertions(+), 0 deletions(-)
Acked-by: Shawn O. Pearce <spearce@spearce.org>
 
-- 
Shawn.
Johan Herland· Jan 28, 2010, 01:23 UTC · re: SZEDER Gábor · lore

Re: [PATCH] bash: support 'git notes' and its subcommands

On Thursday 28 January 2010, SZEDER Gábor wrote:
> ... and it will offer refs unless after -m or -F, because these two
> options require a non-ref argument.
Maybe-NAK.

The patch is probably good in itself, and the intent is certainly good, but we're currently discussing deprecating the -m/-F options to "git notes edit" (see http://article.gmane.org/gmane.comp.version-control.git/138215), and if that's where we go, there's no point "encouraging" their use by adding bash- completions for them...

...Johan
Show 44 quoted lines
> 
> Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
> ---
>  contrib/completion/git-completion.bash |   19 +++++++++++++++++++
>  1 files changed, 19 insertions(+), 0 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash
>  b/contrib/completion/git-completion.bash index 9651720..8b56c34 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1306,6 +1306,24 @@ _git_name_rev ()
>  	__gitcomp "--tags --all --stdin"
>  }
> 
> +_git_notes ()
> +{
> +	local subcommands="edit show"
> +	if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then
> +		__gitcomp "$subcommands"
> +		return
> +	fi
> +
> +	case "${COMP_WORDS[COMP_CWORD-1]}" in
> +	-m|-F)
> +		COMPREPLY=()
> +		;;
> +	*)
> +		__gitcomp "$(__git_refs)"
> +		;;
> +	esac
> +}
> +
>  _git_pull ()
>  {
>  	__git_complete_strategy && return
> @@ -2218,6 +2236,7 @@ _git ()
>  	merge-base)  _git_merge_base ;;
>  	mv)          _git_mv ;;
>  	name-rev)    _git_name_rev ;;
> +	notes)       _git_notes ;;
>  	pull)        _git_pull ;;
>  	push)        _git_push ;;
>  	rebase)      _git_rebase ;;
> 
-- 
Johan Herland, <johan@herland.net>
www.herland.net
SZEDER Gábor· Jan 28, 2010, 03:30 UTC · re: Johan Herland · lore

Re: [PATCH] bash: support 'git notes' and its subcommands

Hi Johan,
On Thu, Jan 28, 2010 at 02:23:35AM +0100, Johan Herland wrote:
Show 11 quoted lines
> On Thursday 28 January 2010, SZEDER Gábor wrote:
> > ... and it will offer refs unless after -m or -F, because these two
> > options require a non-ref argument.
> 
> Maybe-NAK.
> 
> The patch is probably good in itself, and the intent is certainly good, but 
> we're currently discussing deprecating the -m/-F options to "git notes edit" 
> (see http://article.gmane.org/gmane.comp.version-control.git/138215), and if 
> that's where we go, there's no point "encouraging" their use by adding bash-
> completions for them...

-m and -F are not encouraged, because they are not offered (short options in general are never offered by the completion script). However, their presence or absence is taken into account to offer something sensible: refs after 'git notes edit <TAB>', files after 'git notes edit -F <TAB>'. Note, that I chose 'edit' here, because currently it's the only subcommand taking '-F', but it will actually work the same way with the upcoming 'add' and 'append' subcommands.

Best, Gábor

[btw, Shawn, could you have a look at http://article.gmane.org/gmane.comp.version-control.git/137754 ?]

Johan Herland· Jan 28, 2010, 10:02 UTC · re: SZEDER Gábor · lore

Re: [PATCH] bash: support 'git notes' and its subcommands

On Thursday 28 January 2010, SZEDER Gábor wrote:
Show 23 quoted lines
> Hi Johan,
> 
> On Thu, Jan 28, 2010 at 02:23:35AM +0100, Johan Herland wrote:
> > On Thursday 28 January 2010, SZEDER Gábor wrote:
> > > ... and it will offer refs unless after -m or -F, because these two
> > > options require a non-ref argument.
> >
> > Maybe-NAK.
> >
> > The patch is probably good in itself, and the intent is certainly good,
> > but we're currently discussing deprecating the -m/-F options to "git
> > notes edit" (see
> > http://article.gmane.org/gmane.comp.version-control.git/138215), and if
> > that's where we go, there's no point "encouraging" their use by adding
> > bash- completions for them...
> 
> -m and -F are not encouraged, because they are not offered (short
> options in general are never offered by the completion script).
> However, their presence or absence is taken into account to offer
> something sensible: refs after 'git notes edit <TAB>', files after
> 'git notes edit -F <TAB>'.  Note, that I chose 'edit' here, because
> currently it's the only subcommand taking '-F', but it will actually
> work the same way with the upcoming 'add' and 'append' subcommands.
Ah, ok, then. I revoke my NAK.
...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net

← back to recent threads