# [PATCH] fixup! mergetools: simplify how we handle "vim" and "defaults"

3 messages from 2013-01-28 to 2013-01-29. Participants: John Keeping, David Aguilar, Junio C Hamano.
Thread: https://gitlist.dev/t/32756

## John Keeping, 2013-01-28 19:28

Subject: [PATCH] fixup! mergetools: simplify how we handle "vim" and "defaults"
Message-ID: <20130128192856.GA7498@serenity.lan>
URL: https://gitlist.dev/e/20130128192856.GA7498%40serenity.lan

```
---
Junio, please can you squash this into f9924e5 on jk/mergetool,
providing that David is OK with that?

The original change breaks custom mergetool by making changing the logic
around default functions so that they are now only defined when the tool
file exists in $MERGE_TOOLS_DIR but we need the default implementations
when a custom tool is in use, which by definition means that the file
doesn't exist in $MERGE_TOOLS_DIR.

 git-mergetool--lib.sh | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index 1d0fb12..211ffe5 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -48,15 +48,6 @@ valid_tool () {
 setup_tool () {
 	tool="$1"
 
-	if ! test -f "$MERGE_TOOLS_DIR/$tool"
-	then
-		# Use a special return code for this case since we want to
-		# source "defaults" even when an explicit tool path is
-		# configured since the user can use that to override the
-		# default path in the scriptlet.
-		return 2
-	fi
-
 	# Fallback definitions, to be overriden by tools.
 	can_merge () {
 		return 0
@@ -80,6 +71,15 @@ setup_tool () {
 		echo "$1"
 	}
 
+	if ! test -f "$MERGE_TOOLS_DIR/$tool"
+	then
+		# Use a special return code for this case since we want to
+		# source "defaults" even when an explicit tool path is
+		# configured since the user can use that to override the
+		# default path in the scriptlet.
+		return 2
+	fi
+
 	# Load the redefined functions
 	. "$MERGE_TOOLS_DIR/$tool"
 
-- 
1.8.1.1

```

## David Aguilar, 2013-01-29 01:37

Subject: Re: [PATCH] fixup! mergetools: simplify how we handle "vim" and "defaults"
Message-ID: <CAJDDKr5wsYqnBk+kvKj1qzUYKJBJ5nAiwMJZ=HpzPPgJf8BBTQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAJDDKr5wsYqnBk%2BkvKj1qzUYKJBJ5nAiwMJZ%3DHpzPPgJf8BBTQ%40mail.gmail.com
In-Reply-To: <20130128192856.GA7498@serenity.lan>

```
On Mon, Jan 28, 2013 at 11:28 AM, John Keeping <john@keeping.me.uk> wrote:
> ---
> Junio, please can you squash this into f9924e5 on jk/mergetool,
> providing that David is OK with that?

This looks good to me.

> The original change breaks custom mergetool by making changing the logic
> around default functions so that they are now only defined when the tool
> file exists in $MERGE_TOOLS_DIR but we need the default implementations
> when a custom tool is in use, which by definition means that the file
> doesn't exist in $MERGE_TOOLS_DIR.
>
>  git-mergetool--lib.sh | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
> index 1d0fb12..211ffe5 100644
> --- a/git-mergetool--lib.sh
> +++ b/git-mergetool--lib.sh
> @@ -48,15 +48,6 @@ valid_tool () {
>  setup_tool () {
>         tool="$1"
>
> -       if ! test -f "$MERGE_TOOLS_DIR/$tool"
> -       then
> -               # Use a special return code for this case since we want to
> -               # source "defaults" even when an explicit tool path is
> -               # configured since the user can use that to override the
> -               # default path in the scriptlet.
> -               return 2
> -       fi
> -
>         # Fallback definitions, to be overriden by tools.
>         can_merge () {
>                 return 0
> @@ -80,6 +71,15 @@ setup_tool () {
>                 echo "$1"
>         }
>
> +       if ! test -f "$MERGE_TOOLS_DIR/$tool"
> +       then
> +               # Use a special return code for this case since we want to
> +               # source "defaults" even when an explicit tool path is
> +               # configured since the user can use that to override the
> +               # default path in the scriptlet.
> +               return 2
> +       fi
> +
>         # Load the redefined functions
>         . "$MERGE_TOOLS_DIR/$tool"
>
> --
> 1.8.1.1



-- 
David

```

## Junio C Hamano, 2013-01-29 03:02

Subject: Re: [PATCH] fixup! mergetools: simplify how we handle "vim" and "defaults"
Message-ID: <7vy5fcu1wo.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vy5fcu1wo.fsf%40alter.siamese.dyndns.org
In-Reply-To: <CAJDDKr5wsYqnBk+kvKj1qzUYKJBJ5nAiwMJZ=HpzPPgJf8BBTQ@mail.gmail.com>

```
David Aguilar <davvid@gmail.com> writes:

> On Mon, Jan 28, 2013 at 11:28 AM, John Keeping <john@keeping.me.uk> wrote:
>> ---
>> Junio, please can you squash this into f9924e5 on jk/mergetool,
>> providing that David is OK with that?
>
> This looks good to me.

Thanks for a quick response.  Will squash this in and rebuild the
two affected branches.

```
