1#!/bin/sh
   2test_description='reset --hard unmerged'
   4. ./test-lib.sh
   6test_expect_success setup '
   8        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        H=$(git rev-parse :hello) &&
  18        git rm --cached hello &&
  19        echo "100644 $H 2       hello" | git update-index --index-info &&
  20        rm -f hello &&
  22        mkdir -p hello &&
  23        >hello/world &&
  24        test "$(git ls-files -o)" = hello/world
  25'
  27test_expect_success 'reset --hard should restore unmerged ones' '
  29        git reset --hard &&
  31        git ls-files --error-unmatch before/1 before/2 hello later/3 &&
  32        test -f hello
  33'
  35test_expect_success 'reset --hard did not corrupt index or cached-tree' '
  37        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'
  45test_done