# [PATCH] bash: Add completion for gitk --merge

4 messages from 2008-04-26 to 2008-04-27. Participants: Richard Quirk, Shawn O. Pearce.
Thread: https://gitlist.dev/t/13276

## Richard Quirk, 2008-04-26 23:32

Subject: [PATCH] bash: Add completion for gitk --merge
Message-ID: <1209252734-10861-1-git-send-email-richard.quirk@gmail.com>
URL: https://gitlist.dev/e/1209252734-10861-1-git-send-email-richard.quirk%40gmail.com

```
Option is only completed when .git/MERGE_HEAD is present.

Signed-off-by: Richard Quirk <richard.quirk@gmail.com>
---
 contrib/completion/git-completion.bash |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 665a895..2565aa6 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1346,9 +1346,14 @@ _git ()
 _gitk ()
 {
 	local cur="${COMP_WORDS[COMP_CWORD]}"
+	local g="$(git rev-parse --git-dir 2>/dev/null)"
+	local merge=""
+	if [ -f $g/MERGE_HEAD ]; then
+		local merge="--merge"
+	fi
 	case "$cur" in
 	--*)
-		__gitcomp "--not --all"
+		__gitcomp "--not --all $merge"
 		return
 		;;
 	esac
-- 
1.5.5.1.79.g57cf

```

## Shawn O. Pearce, 2008-04-27 04:18

Subject: Re: [PATCH] bash: Add completion for gitk --merge
Message-ID: <20080427041816.GH29771@spearce.org>
URL: https://gitlist.dev/e/20080427041816.GH29771%40spearce.org
In-Reply-To: <1209252734-10861-1-git-send-email-richard.quirk@gmail.com>

```
Richard Quirk <richard.quirk@gmail.com> wrote:
> Option is only completed when .git/MERGE_HEAD is present.
> 
> Signed-off-by: Richard Quirk <richard.quirk@gmail.com>
> ---
>  contrib/completion/git-completion.bash |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)

Nice.
 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 665a895..2565aa6 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1346,9 +1346,14 @@ _git ()
>  _gitk ()
>  {
>  	local cur="${COMP_WORDS[COMP_CWORD]}"
> +	local g="$(git rev-parse --git-dir 2>/dev/null)"
> +	local merge=""
> +	if [ -f $g/MERGE_HEAD ]; then
> +		local merge="--merge"

I don't think the extra "local" is necessary within the if block;
you have already declared it to be local when you initialized it
to the empty string.

-- 
Shawn.

```

## Richard Quirk, 2008-04-27 15:35

Subject: [PATCH] bash: Add completion for gitk --merge
Message-ID: <1209310510-7201-1-git-send-email-richard.quirk@gmail.com>
URL: https://gitlist.dev/e/1209310510-7201-1-git-send-email-richard.quirk%40gmail.com
In-Reply-To: <20080427041816.GH29771@spearce.org>

```
Option is only completed when .git/MERGE_HEAD is present.

Signed-off-by: Richard Quirk <richard.quirk@gmail.com>
---
 contrib/completion/git-completion.bash |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 665a895..23db664 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1346,9 +1346,14 @@ _git ()
 _gitk ()
 {
 	local cur="${COMP_WORDS[COMP_CWORD]}"
+	local g="$(git rev-parse --git-dir 2>/dev/null)"
+	local merge=""
+	if [ -f $g/MERGE_HEAD ]; then
+		merge="--merge"
+	fi
 	case "$cur" in
 	--*)
-		__gitcomp "--not --all"
+		__gitcomp "--not --all $merge"
 		return
 		;;
 	esac
-- 
1.5.5.1.79.g57cf

```

## Shawn O. Pearce, 2008-04-27 17:19

Subject: Re: [PATCH] bash: Add completion for gitk --merge
Message-ID: <20080427171956.GK29771@spearce.org>
URL: https://gitlist.dev/e/20080427171956.GK29771%40spearce.org
In-Reply-To: <1209310510-7201-1-git-send-email-richard.quirk@gmail.com>

```
Richard Quirk <richard.quirk@gmail.com> wrote:
> Option is only completed when .git/MERGE_HEAD is present.
> 
> Signed-off-by: Richard Quirk <richard.quirk@gmail.com>

Thanks for fixing the unnecessary local and resubmitting.

Acked-by: Shawn O. Pearce <spearce@spearce.org>

> ---
>  contrib/completion/git-completion.bash |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 665a895..23db664 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1346,9 +1346,14 @@ _git ()
>  _gitk ()
>  {
>  	local cur="${COMP_WORDS[COMP_CWORD]}"
> +	local g="$(git rev-parse --git-dir 2>/dev/null)"
> +	local merge=""
> +	if [ -f $g/MERGE_HEAD ]; then
> +		merge="--merge"
> +	fi
>  	case "$cur" in
>  	--*)
> -		__gitcomp "--not --all"
> +		__gitcomp "--not --all $merge"
>  		return
>  		;;
>  	esac
> -- 
> 1.5.5.1.79.g57cf
> 

-- 
Shawn.

```
