Re: [PATCH] var(win32): do report the GIT_SHELL_PATH that is actually used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Johannes

On 08/07/2024 14:02, Johannes Schindelin via GitGitGadget wrote:
From: Johannes Schindelin <johannes.schindelin@xxxxxx>

Thanks for putting a patch together so quickly

  static char *shell_path(int ident_flag UNUSED)
  {
+#ifdef WIN32
+	char *p = locate_in_PATH("sh");

If I'm reading is_busybox_applet() (which only exists in git-for-windows) correctly then this will return "busybox.exe" under mingit-busybox rather than ash.exe, so the calling program would have to know to set argv[0] (which is likely not possible unless the calling program is written in C) or pass "sh" as the first argument. As the code to support busybox does not exist upstream I guess that's best handled downstream.

Best Wishes

Phillip

+	convert_slashes(p);
+	return p;
+#else
  	return xstrdup(SHELL_PATH);
+#endif
  }
static char *git_attr_val_system(int ident_flag UNUSED)
diff --git a/t/t0007-git-var.sh b/t/t0007-git-var.sh
index ff4fd9348cc..9fc58823873 100755
--- a/t/t0007-git-var.sh
+++ b/t/t0007-git-var.sh
@@ -157,7 +157,7 @@ test_expect_success POSIXPERM 'GIT_SHELL_PATH points to a valid executable' '
  test_expect_success MINGW 'GIT_SHELL_PATH points to a suitable shell' '
  	shellpath=$(git var GIT_SHELL_PATH) &&
  	case "$shellpath" in
-	*sh) ;;
+	[A-Z]:/*/sh.exe) test -f "$shellpath";;
  	*) return 1;;
  	esac
  '

base-commit: 06e570c0dfb2a2deb64d217db78e2ec21672f558




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux