t / t4123-apply-shrink.shon commit builtin-prune: protect objects listed on the command line (fe308f5)
   1#!/bin/sh
   2
   3test_description='apply a patch that is larger than the preimage'
   4
   5. ./test-lib.sh
   6
   7cat >F  <<\EOF
   81
   92
  103
  114
  125
  136
  147
  158
  16999999
  17A
  18B
  19C
  20D
  21E
  22F
  23G
  24H
  25I
  26J
  27
  28EOF
  29
  30test_expect_success setup '
  31
  32        git add F &&
  33        mv F G &&
  34        sed -e "s/1/11/" -e "s/999999/9/" -e "s/H/HH/" <G >F &&
  35        git diff >patch &&
  36        sed -e "/^\$/d" <G >F &&
  37        git add F
  38
  39'
  40
  41test_expect_success 'apply should fail gracefully' '
  42
  43        if git apply --index patch
  44        then
  45                echo Oops, should not have succeeded
  46                false
  47        else
  48                status=$?
  49                echo "Status was $status"
  50                if test -f .git/index.lock
  51                then
  52                        echo Oops, should not have crashed
  53                        false
  54                fi
  55        fi
  56'
  57
  58test_done