bisect: check ancestors without forking a "git rev-list" process
[gitweb.git] / t / t1410-reflog.sh
index 0c435f957489b011623d320411dbc619163f80a9..80af6b9b7ea50652dff6804b589d134207e9258f 100755 (executable)
@@ -20,7 +20,7 @@ check_have () {
 }
 
 check_fsck () {
-       output=$(git fsck-objects --full)
+       output=$(git fsck --full)
        case "$1" in
        '')
                test -z "$output" ;;
@@ -70,9 +70,7 @@ test_expect_success setup '
        E=`git rev-parse --verify HEAD:A/B/E` &&
        check_fsck &&
 
-       chmod +x C &&
-       ( test "`git repo-config --bool core.filemode`" != false ||
-         echo executable >>C ) &&
+       test_chmod +x C &&
        git add C &&
        test_tick && git commit -m dragon &&
        L=`git rev-parse --verify HEAD` &&
@@ -96,7 +94,7 @@ test_expect_success setup '
 
        check_have A B C D E F G H I J K L &&
 
-       git prune --grace=off &&
+       git prune &&
 
        check_have A B C D E F G H I J K L &&
 
@@ -115,7 +113,7 @@ test_expect_success rewind '
 
        check_have A B C D E F G H I J K L &&
 
-       git prune --grace=off &&
+       git prune &&
 
        check_have A B C D E F G H I J K L &&
 
@@ -160,7 +158,7 @@ test_expect_success 'reflog expire' '
 
 test_expect_success 'prune and fsck' '
 
-       git prune --grace=off &&
+       git prune &&
        check_fsck &&
 
        check_have A B C D E H L &&
@@ -175,4 +173,45 @@ test_expect_success 'recover and check' '
 
 '
 
+test_expect_success 'delete' '
+       echo 1 > C &&
+       test_tick &&
+       git commit -m rat C &&
+
+       echo 2 > C &&
+       test_tick &&
+       git commit -m ox C &&
+
+       echo 3 > C &&
+       test_tick &&
+       git commit -m tiger C &&
+
+       HEAD_entry_count=$(git reflog | wc -l)
+       master_entry_count=$(git reflog show master | wc -l)
+
+       test $HEAD_entry_count = 5 &&
+       test $master_entry_count = 5 &&
+
+
+       git reflog delete master@{1} &&
+       git reflog show master > output &&
+       test $(($master_entry_count - 1)) = $(wc -l < output) &&
+       test $HEAD_entry_count = $(git reflog | wc -l) &&
+       ! grep ox < output &&
+
+       master_entry_count=$(wc -l < output)
+
+       git reflog delete HEAD@{1} &&
+       test $(($HEAD_entry_count -1)) = $(git reflog | wc -l) &&
+       test $master_entry_count = $(git reflog show master | wc -l) &&
+
+       HEAD_entry_count=$(git reflog | wc -l)
+
+       git reflog delete master@{07.04.2005.15:15:00.-0700} &&
+       git reflog show master > output &&
+       test $(($master_entry_count - 1)) = $(wc -l < output) &&
+       ! grep dragon < output
+
+'
+
 test_done