imap-send: use parse options API to determine verbosity
[gitweb.git] / t / t1503-rev-parse-verify.sh
index 95244c9bcf54de8cb3584b4022e53a84051d496f..823fe1d79924b68950a59ffde902b16db29205b6 100755 (executable)
@@ -23,7 +23,7 @@ add_line_into_file()
     fi
 
     test_tick
-    git-commit --quiet -m "$MSG" $_file
+    git commit --quiet -m "$MSG" $_file
 }
 
 HASH1=
@@ -72,15 +72,42 @@ test_expect_success 'fails with any bad rev or many good revs' '
 
 test_expect_success 'fails silently when using -q' '
        test_must_fail git rev-parse --verify --quiet 2>error &&
-       test -z "$(cat error)" &&
+       test_must_be_empty error &&
        test_must_fail git rev-parse -q --verify foo 2>error &&
-       test -z "$(cat error)" &&
+       test_must_be_empty error &&
        test_must_fail git rev-parse --verify -q HEAD bar 2>error &&
-       test -z "$(cat error)" &&
+       test_must_be_empty error &&
        test_must_fail git rev-parse --quiet --verify baz HEAD 2>error &&
-       test -z "$(cat error)" &&
+       test_must_be_empty error &&
        test_must_fail git rev-parse -q --verify $HASH2 HEAD 2>error &&
-       test -z "$(cat error)"
+       test_must_be_empty error
+'
+
+test_expect_success 'fails silently when using -q with deleted reflogs' '
+       ref=$(git rev-parse HEAD) &&
+       : >.git/logs/refs/test &&
+       git update-ref -m "message for refs/test" refs/test "$ref" &&
+       git reflog delete --updateref --rewrite refs/test@{0} &&
+       test_must_fail git rev-parse -q --verify refs/test@{0} >error 2>&1 &&
+       test_must_be_empty error
+'
+
+test_expect_success 'fails silently when using -q with not enough reflogs' '
+       ref=$(git rev-parse HEAD) &&
+       : >.git/logs/refs/test2 &&
+       git update-ref -m "message for refs/test2" refs/test2 "$ref" &&
+       test_must_fail git rev-parse -q --verify refs/test2@{999} >error 2>&1 &&
+       test_must_be_empty error
+'
+
+test_expect_success 'succeeds silently with -q and reflogs that do not go far back enough in time' '
+       ref=$(git rev-parse HEAD) &&
+       : >.git/logs/refs/test3 &&
+       git update-ref -m "message for refs/test3" refs/test3 "$ref" &&
+       git rev-parse -q --verify refs/test3@{1.year.ago} >actual 2>error &&
+       test_must_be_empty error &&
+       echo "$ref" >expect &&
+       test_cmp expect actual
 '
 
 test_expect_success 'no stdout output on error' '
@@ -104,4 +131,15 @@ test_expect_success 'use --default' '
        test_must_fail git rev-parse --verify --default bar
 '
 
+test_expect_success 'master@{n} for various n' '
+       N=$(git reflog | wc -l) &&
+       Nm1=$(($N-1)) &&
+       Np1=$(($N+1)) &&
+       git rev-parse --verify master@{0} &&
+       git rev-parse --verify master@{1} &&
+       git rev-parse --verify master@{$Nm1} &&
+       test_must_fail git rev-parse --verify master@{$N} &&
+       test_must_fail git rev-parse --verify master@{$Np1}
+'
+
 test_done