git-commit-vandalism/contrib/subtree
Johannes Schindelin f7ee88f1d0 subtree: fix the GIT_EXEC_PATH sanity check to work on Windows
In 22d5507493 (subtree: don't fuss with PATH, 2021-04-27), `git
subtree` was broken thoroughly on Windows.

The reason is that it assumes Unix semantics, where `PATH` is
colon-separated, and it assumes that `$GIT_EXEC_PATH:` is a verbatim
prefix of `$PATH`. Neither are true, the latter in particular because
`GIT_EXEC_PATH` is a Windows-style path, while `PATH` is a Unix-style
path list.

Let's make extra certain that `$GIT_EXEC_PATH` and the first component
of `$PATH` refer to different entities before erroring out.

We do that by using the `test <path1> -ef <path2>` command that verifies
that the inode of `<path1>` and of `<path2>` is the same.

Sadly, this construct is non-portable, according to
https://pubs.opengroup.org/onlinepubs/009695399/utilities/test.html.
However, it does not matter in practice because we still first look
whether `$GIT_EXEC_PREFIX` is string-identical to the first component of
`$PATH`. This will give us the expected result everywhere but in Git for
Windows, and Git for Windows' own Bash _does_ handle the `-ef` operator.

Just in case that we _do_ need to show the error message _and_ are
running in a shell that lacks support for `-ef`, we simply suppress the
error output for that part.

This fixes https://github.com/git-for-windows/git/issues/3260

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-06-15 11:38:26 +09:00
..
t subtree: be stricter about validating flags 2021-04-28 16:47:19 +09:00
.gitignore subtree: add an install-html target 2014-10-15 15:17:08 -07:00
COPYING
git-subtree.sh subtree: fix the GIT_EXEC_PATH sanity check to work on Windows 2021-06-15 11:38:26 +09:00
git-subtree.txt subtree: push: allow specifying a local rev other than HEAD 2021-04-28 16:47:19 +09:00
INSTALL Fix git-subtree install instructions 2012-04-09 22:26:19 -05:00
Makefile subtree: fix build with AsciiDoctor 2 2020-04-08 12:10:36 -07:00
README
todo subtree: give the docs a once-over 2021-04-28 16:47:19 +09:00

Please read git-subtree.txt for documentation.

Please don't contact me using github mail; it's slow, ugly, and worst of
all, redundant. Email me instead at apenwarr@gmail.com and I'll be happy to
help.

Avery