difftool: use perl built-ins when testing for msys
[gitweb.git] / contrib / difftool / git-difftool
index 0cda3d2eeae3054d1835676d198e3aae01288259..207dd50f2ca4ca328b7233f80b7c350277bc547b 100755 (executable)
@@ -4,7 +4,7 @@
 # This is a wrapper around the GIT_EXTERNAL_DIFF-compatible
 # git-difftool-helper script.  This script exports
 # GIT_EXTERNAL_DIFF and GIT_PAGER for use by git, and
-# GIT_DIFFTOOL_NO_PROMPT and GIT_MERGE_TOOL for use by git-difftool-helper.
+# GIT_DIFFTOOL_NO_PROMPT and GIT_DIFF_TOOL for use by git-difftool-helper.
 # Any arguments that are unknown to this script are forwarded to 'git diff'.
 
 use strict;
@@ -33,7 +33,10 @@ sub setup_environment
 sub exe
 {
        my $exe = shift;
-       return defined $ENV{COMSPEC} ? "$exe.exe" : $exe;
+       if ($^O eq 'MSWin32' || $^O eq 'msys') {
+               return "$exe.exe";
+       }
+       return $exe;
 }
 
 sub generate_command
@@ -47,14 +50,14 @@ sub generate_command
                        $skip_next = 0;
                        next;
                }
-               if ($arg eq '-t' or $arg eq '--tool') {
+               if ($arg eq '-t' || $arg eq '--tool') {
                        usage() if $#ARGV <= $idx;
-                       $ENV{GIT_MERGE_TOOL} = $ARGV[$idx + 1];
+                       $ENV{GIT_DIFF_TOOL} = $ARGV[$idx + 1];
                        $skip_next = 1;
                        next;
                }
                if ($arg =~ /^--tool=/) {
-                       $ENV{GIT_MERGE_TOOL} = substr($arg, 7);
+                       $ENV{GIT_DIFF_TOOL} = substr($arg, 7);
                        next;
                }
                if ($arg eq '--no-prompt') {