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

5 messages from 2010-01-28 to 2010-01-28. Participants: SZEDER Gábor, Shawn O. Pearce, Johan Herland.
Thread: https://gitlist.dev/t/22418

## SZEDER Gábor, 2010-01-28 01:05

Subject: [PATCH] bash: support 'git notes' and its subcommands
Message-ID: <1264640755-22447-1-git-send-email-szeder@ira.uka.de>
URL: https://gitlist.dev/e/1264640755-22447-1-git-send-email-szeder%40ira.uka.de

```
... 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(-)

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, 2010-01-28 01:21

Subject: Re: [PATCH] bash: support 'git notes' and its subcommands
Message-ID: <20100128012102.GL5452@spearce.org>
URL: https://gitlist.dev/e/20100128012102.GL5452%40spearce.org
In-Reply-To: <1264640755-22447-1-git-send-email-szeder@ira.uka.de>

```
SZEDER G??bor <szeder@ira.uka.de> wrote:
> ... 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, 2010-01-28 01:23

Subject: Re: [PATCH] bash: support 'git notes' and its subcommands
Message-ID: <201001280223.35625.johan@herland.net>
URL: https://gitlist.dev/e/201001280223.35625.johan%40herland.net
In-Reply-To: <1264640755-22447-1-git-send-email-szeder@ira.uka.de>

```
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

> 
> 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, 2010-01-28 03:30

Subject: Re: [PATCH] bash: support 'git notes' and its subcommands
Message-ID: <20100128033039.GB15202@neumann>
URL: https://gitlist.dev/e/20100128033039.GB15202%40neumann
In-Reply-To: <201001280223.35625.johan@herland.net>

```
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.


Best,
Gábor


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

```

## Johan Herland, 2010-01-28 10:02

Subject: Re: [PATCH] bash: support 'git notes' and its subcommands
Message-ID: <201001281102.24195.johan@herland.net>
URL: https://gitlist.dev/e/201001281102.24195.johan%40herland.net
In-Reply-To: <20100128033039.GB15202@neumann>

```
On Thursday 28 January 2010, SZEDER Gábor wrote:
> 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

```
