2007-02-11 22:28:42 +01:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Copyright (c) 2007 Junio C Hamano
|
|
|
|
#
|
|
|
|
|
|
|
|
test_description='Quoting paths in diff output.
|
|
|
|
'
|
|
|
|
|
2021-10-12 15:56:45 +02:00
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
2007-02-11 22:28:42 +01:00
|
|
|
. ./test-lib.sh
|
|
|
|
|
|
|
|
P0='pathname'
|
|
|
|
P1='pathname with HT'
|
|
|
|
P2='pathname with SP'
|
|
|
|
P3='pathname
|
|
|
|
with LF'
|
mingw: do not bother to test funny file names
MSYS2 actually allows to create files or directories whose names contain
tabs, newlines or colors, even if plain Win32 API cannot access them.
As we are using an MSYS2 bash to run the tests, such files or
directories are created successfully, but Git itself has no chance to
work with them because it is a regular Windows program, hence limited by
the Win32 API.
With this change, on Windows otherwise failing tests in
t3300-funny-names.sh, t3600-rm.sh, t3703-add-magic-pathspec.sh,
t3902-quoted.sh, t4016-diff-quote.sh, t4135-apply-weird-filenames.sh,
t9200-git-cvsexportcommit.sh, and t9903-bash-prompt.sh are skipped.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-01-27 17:20:26 +01:00
|
|
|
test_have_prereq !MINGW &&
|
2012-09-01 20:10:57 +02:00
|
|
|
echo 2>/dev/null >"$P1" && test -f "$P1" && rm -f "$P1" || {
|
|
|
|
skip_all='Your filesystem does not allow tabs in filenames'
|
|
|
|
test_done
|
|
|
|
}
|
2007-02-11 22:28:42 +01:00
|
|
|
|
2012-09-01 20:10:57 +02:00
|
|
|
test_expect_success setup '
|
2007-02-11 22:28:42 +01:00
|
|
|
echo P0.0 >"$P0.0" &&
|
|
|
|
echo P0.1 >"$P0.1" &&
|
|
|
|
echo P0.2 >"$P0.2" &&
|
|
|
|
echo P0.3 >"$P0.3" &&
|
|
|
|
echo P1.0 >"$P1.0" &&
|
|
|
|
echo P1.2 >"$P1.2" &&
|
|
|
|
echo P1.3 >"$P1.3" &&
|
|
|
|
git add . &&
|
|
|
|
git commit -m initial &&
|
|
|
|
git mv "$P0.0" "R$P0.0" &&
|
|
|
|
git mv "$P0.1" "R$P1.0" &&
|
|
|
|
git mv "$P0.2" "R$P2.0" &&
|
|
|
|
git mv "$P0.3" "R$P3.0" &&
|
|
|
|
git mv "$P1.0" "R$P0.1" &&
|
|
|
|
git mv "$P1.2" "R$P2.1" &&
|
|
|
|
git mv "$P1.3" "R$P3.1" &&
|
|
|
|
:
|
|
|
|
'
|
|
|
|
|
2012-09-01 20:10:57 +02:00
|
|
|
test_expect_success 'setup expected files' '
|
2007-02-11 22:28:42 +01:00
|
|
|
cat >expect <<\EOF
|
|
|
|
rename pathname.1 => "Rpathname\twith HT.0" (100%)
|
|
|
|
rename pathname.3 => "Rpathname\nwith LF.0" (100%)
|
|
|
|
rename "pathname\twith HT.3" => "Rpathname\nwith LF.1" (100%)
|
|
|
|
rename pathname.2 => Rpathname with SP.0 (100%)
|
|
|
|
rename "pathname\twith HT.2" => Rpathname with SP.1 (100%)
|
|
|
|
rename pathname.0 => Rpathname.0 (100%)
|
|
|
|
rename "pathname\twith HT.0" => Rpathname.1 (100%)
|
|
|
|
EOF
|
2010-08-11 21:04:08 +02:00
|
|
|
'
|
|
|
|
|
2012-09-01 20:10:57 +02:00
|
|
|
test_expect_success 'git diff --summary -M HEAD' '
|
2007-02-11 22:28:42 +01:00
|
|
|
git diff --summary -M HEAD >actual &&
|
2008-05-24 07:28:56 +02:00
|
|
|
test_cmp expect actual
|
2007-02-11 22:28:42 +01:00
|
|
|
'
|
|
|
|
|
2012-09-01 20:10:57 +02:00
|
|
|
test_expect_success 'git diff --numstat -M HEAD' '
|
2012-03-13 06:05:54 +01:00
|
|
|
cat >expect <<-\EOF &&
|
|
|
|
0 0 pathname.1 => "Rpathname\twith HT.0"
|
|
|
|
0 0 pathname.3 => "Rpathname\nwith LF.0"
|
|
|
|
0 0 "pathname\twith HT.3" => "Rpathname\nwith LF.1"
|
|
|
|
0 0 pathname.2 => Rpathname with SP.0
|
|
|
|
0 0 "pathname\twith HT.2" => Rpathname with SP.1
|
|
|
|
0 0 pathname.0 => Rpathname.0
|
|
|
|
0 0 "pathname\twith HT.0" => Rpathname.1
|
|
|
|
EOF
|
|
|
|
git diff --numstat -M HEAD >actual &&
|
|
|
|
test_cmp expect actual
|
2010-08-11 21:04:08 +02:00
|
|
|
'
|
|
|
|
|
2012-09-01 20:10:57 +02:00
|
|
|
test_expect_success 'git diff --stat -M HEAD' '
|
2012-03-13 06:05:54 +01:00
|
|
|
cat >expect <<-\EOF &&
|
2012-04-30 22:38:58 +02:00
|
|
|
pathname.1 => "Rpathname\twith HT.0" | 0
|
|
|
|
pathname.3 => "Rpathname\nwith LF.0" | 0
|
|
|
|
"pathname\twith HT.3" => "Rpathname\nwith LF.1" | 0
|
|
|
|
pathname.2 => Rpathname with SP.0 | 0
|
|
|
|
"pathname\twith HT.2" => Rpathname with SP.1 | 0
|
|
|
|
pathname.0 => Rpathname.0 | 0
|
|
|
|
"pathname\twith HT.0" => Rpathname.1 | 0
|
2012-03-13 06:05:54 +01:00
|
|
|
7 files changed, 0 insertions(+), 0 deletions(-)
|
|
|
|
EOF
|
2007-02-11 22:28:42 +01:00
|
|
|
git diff --stat -M HEAD >actual &&
|
2021-02-11 02:53:53 +01:00
|
|
|
test_cmp expect actual
|
2007-02-11 22:28:42 +01:00
|
|
|
'
|
|
|
|
|
|
|
|
test_done
|