#!/bin/sh | |
test_description='reset --hard unmerged' | |
. ./test-lib.sh | |
test_expect_success setup ' | |
mkdir before later && | |
>before/1 && | |
>before/2 && | |
>hello && | |
>later/3 && | |
git add before hello later && | |
git commit -m world && | |
H=$(git rev-parse :hello) && | |
git rm --cached hello && | |
echo "100644 $H 2 hello" | git update-index --index-info && | |
rm -f hello && | |
mkdir -p hello && | |
>hello/world && | |
test "$(git ls-files -o)" = hello/world | |
' | |
test_expect_success 'reset --hard should restore unmerged ones' ' | |
git reset --hard && | |
git ls-files --error-unmatch before/1 before/2 hello later/3 && | |
test -f hello | |
' | |
test_expect_success 'reset --hard did not corrupt index or cached-tree' ' | |
T=$(git write-tree) && | |
rm -f .git/index && | |
git add before hello later && | |
U=$(git write-tree) && | |
test "$T" = "$U" | |
' | |
test_done |