aboutsummaryrefslogtreecommitdiff
path: root/t/t7104-reset-hard.sh
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2014-02-04 09:20:08 +0700
committerJunio C Hamano <gitster@pobox.com>2014-02-04 10:49:10 -0800
commitb19c12e6ed91e62d82372fcabcbb60b76b4f7a87 (patch)
tree97d0245d4814747dcfc5cd16a80847837c5803e8 /t/t7104-reset-hard.sh
parent2f93541d88fadd1ff5307d81c2c8921ee3eea058 (diff)
downloadgit-b19c12e6ed91e62d82372fcabcbb60b76b4f7a87.tar.gz
git-b19c12e6ed91e62d82372fcabcbb60b76b4f7a87.tar.xz
t7101, t7014: rename test files to indicate what that file is for
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7104-reset-hard.sh')
-rwxr-xr-xt/t7104-reset-hard.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/t/t7104-reset-hard.sh b/t/t7104-reset-hard.sh
new file mode 100755
index 000000000..f136ee7bb
--- /dev/null
+++ b/t/t7104-reset-hard.sh
@@ -0,0 +1,46 @@
+#!/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 nor cached-tree' '
+
+ T=$(git write-tree) &&
+ rm -f .git/index &&
+ git add before hello later &&
+ U=$(git write-tree) &&
+ test "$T" = "$U"
+
+'
+
+test_done