]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mingw: detect when MSYS2's sh is to be spawned more robustly
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 19 Sep 2019 15:05:21 +0000 (17:05 +0200)
committerJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 6 Dec 2019 15:31:14 +0000 (16:31 +0100)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
compat/mingw.c

index 0e14cab0126559217b07a049ba11d22621c83877..5dbaae981e40fa3ef91f54a29ce9a42aaedf68c9 100644 (file)
@@ -1391,7 +1391,10 @@ static inline int match_last_path_component(const char *path, size_t *len,
 
 static int is_msys2_sh(const char *cmd)
 {
-       if (cmd && !strcmp(cmd, "sh")) {
+       if (!cmd)
+               return 0;
+
+       if (!strcmp(cmd, "sh")) {
                static int ret = -1;
                char *p;
 
@@ -1411,6 +1414,16 @@ static int is_msys2_sh(const char *cmd)
                }
                return ret;
        }
+
+       if (ends_with(cmd, "\\sh.exe")) {
+               static char *sh;
+
+               if (!sh)
+                       sh = path_lookup("sh", 0);
+
+               return !fspathcmp(cmd, sh);
+       }
+
        return 0;
 }