t / t7104-reset-hard.shon commit Merge branch 'sb/submodule-embed-gitdir' (da2b74e)
   1#!/bin/sh
   2
   3test_description='reset --hard unmerged'
   4
   5. ./test-lib.sh
   6
   7test_expect_success setup '
   8
   9        mkdir before later &&
  10        >before/1 &&
  11        >before/2 &&
  12        >hello &&
  13        >later/3 &&
  14        git add before hello later &&
  15        git commit -m world &&
  16
  17        H=$(git rev-parse :hello) &&
  18        git rm --cached hello &&
  19        echo "100644 $H 2       hello" | git update-index --index-info &&
  20
  21        rm -f hello &&
  22        mkdir -p hello &&
  23        >hello/world &&
  24        test "$(git ls-files -o)" = hello/world
  25
  26'
  27
  28test_expect_success 'reset --hard should restore unmerged ones' '
  29
  30        git reset --hard &&
  31        git ls-files --error-unmatch before/1 before/2 hello later/3 &&
  32        test -f hello
  33
  34'
  35
  36test_expect_success 'reset --hard did not corrupt index or cached-tree' '
  37
  38        T=$(git write-tree) &&
  39        rm -f .git/index &&
  40        git add before hello later &&
  41        U=$(git write-tree) &&
  42        test "$T" = "$U"
  43
  44'
  45
  46test_done