Re: [PATCH 1/2] subtree: fix the GIT_EXEC_PATH sanity check to work on Windows
From: Johannes Schindelin <hidden>
Date: 2021-06-15 11:27:28
Hi, On Tue, 15 Jun 2021, Jeff King wrote:
On Tue, Jun 15, 2021 at 06:05:08PM +0700, Bagas Sanjaya wrote:quoted
quoted
But having seen the earlier part of the thread, it looks like "are we on Windows" is predicated on "! type -p cygpath", which seems a bit loose. I also think "-p" is a bash-ism, so we'd want to avoid it before determining whether we're on Windows to avoid a chicken-and-egg on other platforms. -PeffWhat is the POSIX equivalent then of?I don't think there is an equivalent for "-p". But regular "type" is probably sufficient for this use (the "-p" is just suppressing aliases and functions). It would be nice if there was a more robust test in general, though (after all, I could have something called "cygpath" on a non-Windows system). I don't know what options there are to get info from bash, though. (I'd also clarify that I haven't been carefully following this thread, so take any suggestion or comments from me with a grain of salt. I mostly jumped in because it looked like there was a communication confusion).
Please don't worry about `type` vs `type -p` here, as that is no longer used in v2. Please also don't worry about perceived brittleness of relying on `-ef`: The only thing my patch now does is to _fall back_ after the previously-already-existing test verifying that `$PATH` starts with `$GIT_EXEC_PREFIX:`. In the worst case, this will simply behave the same. In the best case (which is the case on Windows), it will rely on Git for Windows' Bash to _have_ support for `-ef` and no longer do the wrong thing. Ciao, Dscho