git manpage: note git-security@googlegroups.com
[gitweb.git] / t / t0000-basic.sh
index f10ba4a01e7e9468b9656ee54486209151ecfd4f..7fd87dd5444040ad7273be51c29a56dea738a861 100755 (executable)
@@ -20,6 +20,31 @@ modification *should* take notice and update the test vectors here.
 
 . ./test-lib.sh
 
+try_local_x () {
+       local x="local" &&
+       echo "$x"
+}
+
+# This test is an experiment to check whether any Git users are using
+# Shells that don't support the "local" keyword. "local" is not
+# POSIX-standard, but it is very widely supported by POSIX-compliant
+# shells, and if it doesn't cause problems for people, we would like
+# to be able to use it in Git code.
+#
+# For now, this is the only test that requires "local". If your shell
+# fails this test, you can ignore the failure, but please report the
+# problem to the Git mailing list <git@vger.kernel.org>, as it might
+# convince us to continue avoiding the use of "local".
+test_expect_success 'verify that the running shell supports "local"' '
+       x="notlocal" &&
+       echo "local" >expected1 &&
+       try_local_x >actual1 &&
+       test_cmp expected1 actual1 &&
+       echo "notlocal" >expected2 &&
+       echo "$x" >actual2 &&
+       test_cmp expected2 actual2
+'
+
 ################################################################
 # git init has been done in an empty repository.
 # make sure it is empty.
@@ -98,7 +123,7 @@ check_sub_test_lib_test () {
 }
 
 check_sub_test_lib_test_err () {
-       name="$1" # stdin is the expected output output from the test
+       name="$1" # stdin is the expected output from the test
        # expected error output is in descriptior 3
        (
                cd "$name" &&
@@ -253,7 +278,7 @@ test_expect_success 'test --verbose' '
        test_expect_success "failing test" false
        test_done
        EOF
-       mv test-verbose/out test-verbose/out+
+       mv test-verbose/out test-verbose/out+ &&
        grep -v "^Initialized empty" test-verbose/out+ >test-verbose/out &&
        check_sub_test_lib_test test-verbose <<-\EOF
        > expecting success: true
@@ -834,7 +859,7 @@ test_expect_success 'git write-tree should be able to write an empty tree' '
 '
 
 test_expect_success 'validate object ID of a known tree' '
-       test "$tree" = 4b825dc642cb6eb9a060e54bf8d69288fbee4904
+       test "$tree" = $EMPTY_TREE
 '
 
 # Various types of objects
@@ -974,7 +999,7 @@ test_expect_success 'writing this tree with --missing-ok' '
 
 ################################################################
 test_expect_success 'git read-tree followed by write-tree should be idempotent' '
-       rm -f .git/index
+       rm -f .git/index &&
        git read-tree $tree &&
        test -f .git/index &&
        newtree=$(git write-tree) &&