Code

the use of 'tr' in the test suite isn't really portable
authorH.Merijn Brand <h.m.brand@xs4all.nl>
Mon, 17 Dec 2007 22:28:46 +0000 (23:28 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Dec 2007 04:49:18 +0000 (20:49 -0800)
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>
git-filter-branch.sh
t/diff-lib.sh
t/t0020-crlf.sh
t/t1300-repo-config.sh
t/t3300-funny-names.sh
t/t4020-diff-external.sh
t/t4103-apply-binary.sh
t/t4116-apply-reverse.sh
t/t4200-rerere.sh
t/t5300-pack-object.sh
test-sha1.sh

index 29d35fd27c52abf208f57e2a99d3de6e6ff2f977..3bb2f676bde370b8667a7999ba43706dbd9b9375 100755 (executable)
@@ -290,7 +290,7 @@ while read commit parents; do
                eval "$filter_tree" < /dev/null ||
                        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
                git ls-files -z --others | \
                        xargs -0 git update-index --add --replace --remove
index 4624fe654c2515afe14e9e05402ac9ce78322772..7dc6d7eb1e13a1831b61c70269ce593457badf0c 100644 (file)
@@ -21,8 +21,8 @@ compare_diff_raw_z () {
     # Also we do not check SHA1 hash generation in this test, which
     # is a job for t0000-basic.sh
 
-    tr '\0' '\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' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
+    tr '\000' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
     git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
 }
 
index 62bc4bb077d06920509228b9fcd6464472e96dc2..89baebdfa69648c92f0a88c6f227059742b07ae9 100755 (executable)
@@ -5,7 +5,7 @@ test_description='CRLF conversion'
 . ./test-lib.sh
 
 q_to_nul () {
-       tr Q '\0'
+       tr Q '\000'
 }
 
 append_cr () {
index 1d2bf2c06087546503b7272a9547ab8232b017d4..e894629e7e16071ca681a5490df28784693ccdba 100755 (executable)
@@ -591,12 +591,12 @@ Qsection.sub=section.val4
 Qsection.sub=section.val5Q
 EOF
 
-git config --null --list | tr '[\000]' 'Q' > result
+git config --null --list | tr '\000' 'Q' > result
 echo >>result
 
 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
 
 test_expect_success '--null --get-regexp' 'cmp result expect'
index dc8c36931098b85d802284d33dfc8f8ebaa5e6f5..98c133db50a35a62ade6d06c8fc7e1bbdf1714f2 100755 (executable)
@@ -54,7 +54,7 @@ echo 'just space
 no-funny
 tabs   ," (dq) and spaces' >expected
 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'
 
 t1=`git write-tree`
@@ -83,11 +83,11 @@ test_expect_success 'git diff-tree with-funny' \
 echo 'A
 tabs   ," (dq) and spaces' >expected
 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'
 
 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'
 
 cat > expected <<\EOF
index ed3bd5b3fe7c8b5ca52067e3015e0d770ee79bf2..888293361d4ec39e389b321493dac8ed08886d7c 100755 (executable)
@@ -99,7 +99,7 @@ test_expect_success 'no diff with -diff' '
        git diff | grep Binary
 '
 
-echo NULZbetweenZwords | tr Z '\0' > file
+echo NULZbetweenZwords | tr Z '\000' > file
 
 test_expect_success 'force diff with "diff"' '
        echo >.gitattributes "file diff" &&
index 011126f336d4f15600ea8905b3a5b1d4c69c9a6b..74f06ec730c0bdf34b6197b6cd6e6b774055aab8 100755 (executable)
@@ -24,10 +24,10 @@ git update-index --add --remove file1 file2 file4
 git-commit -m 'Initial Version' 2>/dev/null
 
 git-checkout -b binary
-tr 'x' '\0' <file1 >file3
+tr 'x' '\000' <file1 >file3
 cat file3 >file4
 git add file2
-tr '\0' 'v' <file3 >file1
+tr '\000' 'v' <file3 >file1
 rm -f file2
 git update-index --add --remove file1 file2 file3 file4
 git-commit -m 'Second Version'
index 9ae2b3a8efaad4430bbcea02152470b064263b2b..b1d35ab04db88f849c024208a541c0a594f0ed3b 100755 (executable)
@@ -12,14 +12,14 @@ test_description='git apply in reverse
 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 &&
-       tr "[ijk]" '\''[\0\1\2]'\'' <file1 >file2 &&
+       tr "ijk" '\''\000\001\002'\'' <file1 >file2 &&
 
        git add file1 file2 &&
        git commit -m 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 &&
-       tr "[mon]" '\''[\0\1\2]'\'' <file1 >file2 &&
+       tr "mon" '\''\000\001\002'\'' <file1 >file2 &&
 
        git commit -a -m second &&
        git tag second &&
index cfcdb69dc890aed55eabf9ec8d13529538e50465..eeff3c9c0772daa85302d44552bc9c0d2d9f0280 100755 (executable)
@@ -129,7 +129,7 @@ test_expect_success 'rerere kicked in' "! grep ======= a1"
 test_expect_success 'rerere prefers first change' 'git diff a1 expect'
 
 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'
 
index f1106e65422823288f25add874d366afa5ea99f1..6e594bf1e211e246cdc02ab22d7be4a9da91d5d2 100755 (executable)
@@ -15,7 +15,7 @@ test_expect_success \
     'rm -f .git/index*
      for i in a b c
      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
      done &&
      cat c >d && echo foo >>d && git update-index --add d &&
index 640856af5a6712a05b2530ad0951d84e631d0ec1..bf526c8f5e8649590da1bfd424e11a78c5621f6f 100755 (executable)
@@ -10,7 +10,7 @@ do
                {
                        test -z "$pfx" || echo "$pfx"
                        dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null |
-                       tr '[\0]' '[g]'
+                       tr '\000' 'g'
                } | ./test-sha1 $cnt
        `
        if test "$expect" = "$actual"
@@ -55,7 +55,7 @@ do
                {
                        test -z "$pfx" || echo "$pfx"
                        dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null |
-                       tr '[\0]' '[g]'
+                       tr '\000' 'g'
                } | sha1sum |
                sed -e 's/ .*//'
        `