t / t5307-pack-missing-commit.shon commit Flush fixes up to the third batch post 2.22.0 (98e06de)
   1#!/bin/sh
   2
   3test_description='pack should notice missing commit objects'
   4
   5. ./test-lib.sh
   6
   7test_expect_success setup '
   8        for i in 1 2 3 4 5
   9        do
  10                echo "$i" >"file$i" &&
  11                git add "file$i" &&
  12                test_tick &&
  13                git commit -m "$i" &&
  14                git tag "tag$i"
  15        done &&
  16        obj=$(git rev-parse --verify tag3) &&
  17        fanout=$(expr "$obj" : "\(..\)") &&
  18        remainder=$(expr "$obj" : "..\(.*\)") &&
  19        rm -f ".git/objects/$fanout/$remainder"
  20'
  21
  22test_expect_success 'check corruption' '
  23        test_must_fail git fsck
  24'
  25
  26test_expect_success 'rev-list notices corruption (1)' '
  27        test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list HEAD
  28'
  29
  30test_expect_success 'rev-list notices corruption (2)' '
  31        test_must_fail env GIT_TEST_COMMIT_GRAPH=0 git rev-list --objects HEAD
  32'
  33
  34test_expect_success 'pack-objects notices corruption' '
  35        echo HEAD |
  36        test_must_fail git pack-objects --revs pack
  37'
  38
  39test_done