diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2016-07-14 15:58:59 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-07-14 10:38:28 -0700 |
commit | b738396cfdcc276c0cde0c1a6462c5cc74ba7b76 (patch) | |
tree | 9dd0da31e1ef9c5b9d92a0396f8ccf95ca114adc /t/t1308-config-set.sh | |
parent | 20b20a22f8f7c1420e259c97ef790cb93091f475 (diff) | |
download | git-b738396cfdcc276c0cde0c1a6462c5cc74ba7b76.tar.gz |
mingw: fix regression in t1308-config-setjk/upload-pack-hook
When we tried to fix in 58461bd (t1308: do not get fooled by symbolic
links to the source tree, 2016-06-02) an obscure case where the user
cd's into Git's source code via a symbolic link, a regression was
introduced that affects all test runs on Windows.
The original patch introducing the test case in question was careful to
use `$(pwd)` instead of `$PWD`.
This was done to account for the fact that Git's test suite uses shell
scripting even on Windows, where the shell's Unix-y paths are
incompatible with the main Git executable's idea of paths: it only
accepts Windows paths.
It is an awkward but necessary thing, then, to use `$(pwd)` (which gives
us a Windows path) when interacting with the Git executable and `$PWD`
(which gives the shell's idea of the current working directory in Unix-y
form) for shell scripts, including the test suite itself.
Obviously this broke the use case of the Git maintainer when changing
the working directory into Git's source code directory via a symlink,
i.e. when `$(pwd)` does not agree with `$PWD`.
However, we must not fix that use case at the expense of regressing
another use case.
Let's special-case Windows here, even if it is ugly, for lack of a more
elegant solution.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1308-config-set.sh')
-rwxr-xr-x | t/t1308-config-set.sh | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index cf716b469f..9d0dd177c7 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -233,11 +233,19 @@ cmdline_config="'foo.bar=from-cmdline'" test_expect_success 'iteration shows correct origins' ' echo "[foo]bar = from-repo" >.git/config && echo "[foo]bar = from-home" >.gitconfig && + if test_have_prereq MINGW + then + # Use Windows path (i.e. *not* $HOME) + HOME_GITCONFIG=$(pwd)/.gitconfig + else + # Do not get fooled by symbolic links, i.e. $HOME != $(pwd) + HOME_GITCONFIG=$HOME/.gitconfig + fi && cat >expect <<-EOF && key=foo.bar value=from-home origin=file - name=$HOME/.gitconfig + name=$HOME_GITCONFIG scope=global key=foo.bar |