the use of 'tr' in the test suite isn't really portable

Some versions of 'tr' only accept octal codes if entered with three digits,
and therefor misinterpret the '\0' in the test suite.

Some versions of 'tr' reject the (needless) use of character classes.

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
H.Merijn Brand 2007-12-17 23:28:46 +01:00 committed by Junio C Hamano
parent 68e6a4f80d
commit 3175b0cfc1
11 changed files with 18 additions and 18 deletions

View File

@ -290,7 +290,7 @@ while read commit parents; do
eval "$filter_tree" < /dev/null || eval "$filter_tree" < /dev/null ||
die "tree filter failed: $filter_tree" die "tree filter failed: $filter_tree"
git diff-index -r $commit | cut -f 2- | tr '\n' '\0' | \ git diff-index -r $commit | cut -f 2- | tr '\n' '\000' | \
xargs -0 git update-index --add --replace --remove xargs -0 git update-index --add --replace --remove
git ls-files -z --others | \ git ls-files -z --others | \
xargs -0 git update-index --add --replace --remove xargs -0 git update-index --add --replace --remove

View File

@ -21,8 +21,8 @@ compare_diff_raw_z () {
# Also we do not check SHA1 hash generation in this test, which # Also we do not check SHA1 hash generation in this test, which
# is a job for t0000-basic.sh # is a job for t0000-basic.sh
tr '\0' '\012' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1 tr '\000' '\012' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
tr '\0' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2 tr '\000' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2 git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
} }

View File

@ -5,7 +5,7 @@ test_description='CRLF conversion'
. ./test-lib.sh . ./test-lib.sh
q_to_nul () { q_to_nul () {
tr Q '\0' tr Q '\000'
} }
append_cr () { append_cr () {

View File

@ -591,12 +591,12 @@ Qsection.sub=section.val4
Qsection.sub=section.val5Q Qsection.sub=section.val5Q
EOF EOF
git config --null --list | tr '[\000]' 'Q' > result git config --null --list | tr '\000' 'Q' > result
echo >>result echo >>result
test_expect_success '--null --list' 'cmp result expect' test_expect_success '--null --list' 'cmp result expect'
git config --null --get-regexp 'val[0-9]' | tr '[\000]' 'Q' > result git config --null --get-regexp 'val[0-9]' | tr '\000' 'Q' > result
echo >>result echo >>result
test_expect_success '--null --get-regexp' 'cmp result expect' test_expect_success '--null --get-regexp' 'cmp result expect'

View File

@ -54,7 +54,7 @@ echo 'just space
no-funny no-funny
tabs ," (dq) and spaces' >expected tabs ," (dq) and spaces' >expected
test_expect_success 'git ls-files -z with-funny' \ test_expect_success 'git ls-files -z with-funny' \
'git ls-files -z | tr \\0 \\012 >current && 'git ls-files -z | tr \\000 \\012 >current &&
git diff expected current' git diff expected current'
t1=`git write-tree` t1=`git write-tree`
@ -83,11 +83,11 @@ test_expect_success 'git diff-tree with-funny' \
echo 'A echo 'A
tabs ," (dq) and spaces' >expected tabs ," (dq) and spaces' >expected
test_expect_success 'git diff-index -z with-funny' \ test_expect_success 'git diff-index -z with-funny' \
'git diff-index -z --name-status $t0 | tr \\0 \\012 >current && 'git diff-index -z --name-status $t0 | tr \\000 \\012 >current &&
git diff expected current' git diff expected current'
test_expect_success 'git diff-tree -z with-funny' \ test_expect_success 'git diff-tree -z with-funny' \
'git diff-tree -z --name-status $t0 $t1 | tr \\0 \\012 >current && 'git diff-tree -z --name-status $t0 $t1 | tr \\000 \\012 >current &&
git diff expected current' git diff expected current'
cat > expected <<\EOF cat > expected <<\EOF

View File

@ -99,7 +99,7 @@ test_expect_success 'no diff with -diff' '
git diff | grep Binary git diff | grep Binary
' '
echo NULZbetweenZwords | tr Z '\0' > file echo NULZbetweenZwords | tr Z '\000' > file
test_expect_success 'force diff with "diff"' ' test_expect_success 'force diff with "diff"' '
echo >.gitattributes "file diff" && echo >.gitattributes "file diff" &&

View File

@ -24,10 +24,10 @@ git update-index --add --remove file1 file2 file4
git-commit -m 'Initial Version' 2>/dev/null git-commit -m 'Initial Version' 2>/dev/null
git-checkout -b binary git-checkout -b binary
tr 'x' '\0' <file1 >file3 tr 'x' '\000' <file1 >file3
cat file3 >file4 cat file3 >file4
git add file2 git add file2
tr '\0' 'v' <file3 >file1 tr '\000' 'v' <file3 >file1
rm -f file2 rm -f file2
git update-index --add --remove file1 file2 file3 file4 git update-index --add --remove file1 file2 file3 file4
git-commit -m 'Second Version' git-commit -m 'Second Version'

View File

@ -12,14 +12,14 @@ test_description='git apply in reverse
test_expect_success setup ' test_expect_success setup '
for i in a b c d e f g h i j k l m n; do echo $i; done >file1 && for i in a b c d e f g h i j k l m n; do echo $i; done >file1 &&
tr "[ijk]" '\''[\0\1\2]'\'' <file1 >file2 && tr "ijk" '\''\000\001\002'\'' <file1 >file2 &&
git add file1 file2 && git add file1 file2 &&
git commit -m initial && git commit -m initial &&
git tag initial && git tag initial &&
for i in a b c g h i J K L m o n p q; do echo $i; done >file1 && for i in a b c g h i J K L m o n p q; do echo $i; done >file1 &&
tr "[mon]" '\''[\0\1\2]'\'' <file1 >file2 && tr "mon" '\''\000\001\002'\'' <file1 >file2 &&
git commit -a -m second && git commit -a -m second &&
git tag second && git tag second &&

View File

@ -129,7 +129,7 @@ test_expect_success 'rerere kicked in' "! grep ======= a1"
test_expect_success 'rerere prefers first change' 'git diff a1 expect' test_expect_success 'rerere prefers first change' 'git diff a1 expect'
rm $rr/postimage rm $rr/postimage
echo "$sha1 a1" | tr '\012' '\0' > .git/rr-cache/MERGE_RR echo "$sha1 a1" | tr '\012' '\000' > .git/rr-cache/MERGE_RR
test_expect_success 'rerere clear' 'git rerere clear' test_expect_success 'rerere clear' 'git rerere clear'

View File

@ -15,7 +15,7 @@ test_expect_success \
'rm -f .git/index* 'rm -f .git/index*
for i in a b c for i in a b c
do do
dd if=/dev/zero bs=4k count=1 | tr "\\0" $i >$i && dd if=/dev/zero bs=4k count=1 | tr "\\000" $i >$i &&
git update-index --add $i || return 1 git update-index --add $i || return 1
done && done &&
cat c >d && echo foo >>d && git update-index --add d && cat c >d && echo foo >>d && git update-index --add d &&

View File

@ -10,7 +10,7 @@ do
{ {
test -z "$pfx" || echo "$pfx" test -z "$pfx" || echo "$pfx"
dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null | dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null |
tr '[\0]' '[g]' tr '\000' 'g'
} | ./test-sha1 $cnt } | ./test-sha1 $cnt
` `
if test "$expect" = "$actual" if test "$expect" = "$actual"
@ -55,7 +55,7 @@ do
{ {
test -z "$pfx" || echo "$pfx" test -z "$pfx" || echo "$pfx"
dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null | dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null |
tr '[\0]' '[g]' tr '\000' 'g'
} | sha1sum | } | sha1sum |
sed -e 's/ .*//' sed -e 's/ .*//'
` `