Merge branch 'jc/maint-obsd46' into maint
authorJunio C Hamano <gitster@pobox.com>
Sat, 26 Dec 2009 22:15:55 +0000 (14:15 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 26 Dec 2009 22:15:55 +0000 (14:15 -0800)
* jc/maint-obsd46:
t4019 "grep" portability fix
t1200: work around a bug in some implementations of "find"

t/t1200-tutorial.sh
t/t4019-diff-wserror.sh
index 238c2f1c08d0c27b71cdde8c7ddc2b3240ea1fde..ab55eda158bb5a6ecad77302aa2fe17bd6e92be3 100755 (executable)
@@ -259,7 +259,7 @@ test_expect_success 'git repack' 'git repack'
 test_expect_success 'git prune-packed' 'git prune-packed'
 test_expect_success '-> only packed objects' '
        git prune && # Remove conflict marked blobs
-       ! find .git/objects/[0-9a-f][0-9a-f] -type f
+       test $(find .git/objects/[0-9a-f][0-9a-f] -type f -print 2>/dev/null | wc -l) = 0
 '
 
 test_done
index 3a3663fbcb4795a9e3755fe831c89a7e312f659e..f6d1f1ebab406fcd4f405178ec151149754500b0 100755 (executable)
@@ -20,11 +20,27 @@ test_expect_success setup '
 
 blue_grep='7;34m' ;# ESC [ 7 ; 3 4 m
 
+printf "\033[%s" "$blue_grep" >check-grep
+if (grep "$blue_grep" <check-grep | grep "$blue_grep") >/dev/null 2>&1
+then
+       grep_a=grep
+elif (grep -a "$blue_grep" <check-grep | grep -a "$blue_grep") >/dev/null 2>&1
+then
+       grep_a='grep -a'
+else
+       grep_a=grep ;# expected to fail...
+fi
+rm -f check-grep
+
+prepare_output () {
+       git diff --color >output
+       $grep_a "$blue_grep" output >error
+       $grep_a -v "$blue_grep" output >normal
+}
+
 test_expect_success default '
 
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight normal >/dev/null &&
        grep HT error >/dev/null &&
@@ -37,9 +53,7 @@ test_expect_success default '
 test_expect_success 'without -trail' '
 
        git config core.whitespace -trail
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight normal >/dev/null &&
        grep HT error >/dev/null &&
@@ -53,9 +67,7 @@ test_expect_success 'without -trail (attribute)' '
 
        git config --unset core.whitespace
        echo "F whitespace=-trail" >.gitattributes
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight normal >/dev/null &&
        grep HT error >/dev/null &&
@@ -69,9 +81,7 @@ test_expect_success 'without -space' '
 
        rm -f .gitattributes
        git config core.whitespace -space
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight normal >/dev/null &&
        grep HT normal >/dev/null &&
@@ -85,9 +95,7 @@ test_expect_success 'without -space (attribute)' '
 
        git config --unset core.whitespace
        echo "F whitespace=-space" >.gitattributes
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight normal >/dev/null &&
        grep HT normal >/dev/null &&
@@ -101,9 +109,7 @@ test_expect_success 'with indent-non-tab only' '
 
        rm -f .gitattributes
        git config core.whitespace indent,-trailing,-space
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight error >/dev/null &&
        grep HT normal >/dev/null &&
@@ -117,9 +123,7 @@ test_expect_success 'with indent-non-tab only (attribute)' '
 
        git config --unset core.whitespace
        echo "F whitespace=indent,-trailing,-space" >.gitattributes
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight error >/dev/null &&
        grep HT normal >/dev/null &&
@@ -133,9 +137,7 @@ test_expect_success 'with cr-at-eol' '
 
        rm -f .gitattributes
        git config core.whitespace cr-at-eol
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight normal >/dev/null &&
        grep HT error >/dev/null &&
@@ -149,9 +151,7 @@ test_expect_success 'with cr-at-eol (attribute)' '
 
        git config --unset core.whitespace
        echo "F whitespace=trailing,cr-at-eol" >.gitattributes
-       git diff --color >output
-       grep "$blue_grep" output >error
-       grep -v "$blue_grep" output >normal
+       prepare_output
 
        grep Eight normal >/dev/null &&
        grep HT error >/dev/null &&
@@ -195,7 +195,7 @@ test_expect_success 'color new trailing blank lines' '
        git add x &&
        { echo a; echo; echo; echo; echo c; echo; echo; echo; echo; } >x &&
        git diff --color x >output &&
-       cnt=$(grep "${blue_grep}" output | wc -l) &&
+       cnt=$($grep_a "${blue_grep}" output | wc -l) &&
        test $cnt = 2
 '