interpret_nth_last_branch(): avoid traversing the reflog twice
[gitweb.git] / t / t1410-reflog.sh
index 73f830db2374e751fb46e25b345e860979b9dd05..5b24f05573221afb3dc472e78a443ba718db3c60 100755 (executable)
@@ -188,16 +188,30 @@ test_expect_success 'delete' '
        test_tick &&
        git commit -m tiger C &&
 
-       test 5 = $(git reflog | wc -l) &&
+       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 4 = $(wc -l < 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 3 = $(wc -l < output) &&
+       test $(($master_entry_count - 1)) = $(wc -l < output) &&
        ! grep dragon < output
 
 '