Merge branch 'ar/t4150-remove-cruft'
[gitweb.git] / t / t1410-reflog.sh
index 553e26d9ceb83fc6529beb95ff71ffa0a899a166..ae8a448e34356034a88fcf0799ef2f53e55f73b8 100755 (executable)
@@ -20,12 +20,12 @@ check_have () {
 }
 
 check_fsck () {
-       output=$(git fsck --full)
+       git fsck --full >fsck.output
        case "$1" in
        '')
-               test -z "$output" ;;
+               test_must_be_empty fsck.output ;;
        *)
-               echo "$output" | grep "$1" ;;
+               test_i18ngrep "$1" fsck.output ;;
        esac
 }
 
@@ -290,9 +290,8 @@ test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' '
        # same as before, but we only create a reflog for "one" if
        # it already exists, which it does not
        git -c core.logallrefupdates=false branch one master &&
-       : >expect &&
        git log -g --format="%gd %gs" one >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 # Triggering the bug detected by this test requires a newline to fall
@@ -339,8 +338,8 @@ test_expect_failure 'reflog with non-commit entries displays all entries' '
 '
 
 test_expect_success 'reflog expire operates on symref not referrent' '
-       git branch -l the_symref &&
-       git branch -l referrent &&
+       git branch --create-reflog the_symref &&
+       git branch --create-reflog referrent &&
        git update-ref referrent HEAD &&
        git symbolic-ref refs/heads/the_symref refs/heads/referrent &&
        test_when_finished "rm -f .git/refs/heads/referrent.lock" &&
@@ -369,4 +368,19 @@ test_expect_success 'continue walking past root commits' '
        )
 '
 
+test_expect_success 'expire with multiple worktrees' '
+       git init main-wt &&
+       (
+               cd main-wt &&
+               test_tick &&
+               test_commit foo &&
+               git  worktree add link-wt &&
+               test_tick &&
+               test_commit -C link-wt foobar &&
+               test_tick &&
+               git reflog expire --verbose --all --expire=$test_tick &&
+               test_must_be_empty .git/worktrees/link-wt/logs/HEAD
+       )
+'
+
 test_done