t0021, t5615: use $PWD instead of $(pwd) in PATH-like shell variables

We have to use $PWD instead of $(pwd) because on Windows the latter
would add a C: style path to bash's Unix-style $PATH variable, which
becomes confused by the colon after the drive letter. ($PWD is a
Unix-style path.)

In the case of GIT_ALTERNATE_OBJECT_DIRECTORIES, bash on Windows
assembles a Unix-style path list with the colon as separators. It
converts the value to a Windows-style path list with the semicolon as
path separator when it forwards the variable to git.exe. The same
confusion happens when bash's original value is contaminated with
Windows style paths.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Sixt 2016-11-11 18:31:48 +01:00 committed by Junio C Hamano
parent 0538b84027
commit 71dd50472d
2 changed files with 3 additions and 3 deletions

View file

@ -4,7 +4,7 @@ test_description='blob conversion via gitattributes'
. ./test-lib.sh
TEST_ROOT="$(pwd)"
TEST_ROOT="$PWD"
PATH=$TEST_ROOT:$PATH
write_script <<\EOF "$TEST_ROOT/rot13.sh"

View file

@ -31,14 +31,14 @@ test_expect_success 'objects inaccessible without alternates' '
'
test_expect_success 'access alternate via absolute path' '
check_obj "$(pwd)/one.git/objects" <<-EOF
check_obj "$PWD/one.git/objects" <<-EOF
$one blob
$two missing
EOF
'
test_expect_success 'access multiple alternates' '
check_obj "$(pwd)/one.git/objects:$(pwd)/two.git/objects" <<-EOF
check_obj "$PWD/one.git/objects:$PWD/two.git/objects" <<-EOF
$one blob
$two blob
EOF