sequencer: preserve commit messages
[git/debian.git] / t / t7106-reset-unborn-branch.sh
blob0f95f004777ac3db191264fc5760c17bc1bdf77b
1 #!/bin/sh
3 test_description='git reset should work on unborn branch'
4 . ./test-lib.sh
6 test_expect_success 'setup' '
7 echo a >a &&
8 echo b >b
11 test_expect_success 'reset' '
12 git add a b &&
13 git reset &&
15 >expect &&
16 git ls-files >actual &&
17 test_cmp expect actual
20 test_expect_success 'reset HEAD' '
21 rm .git/index &&
22 git add a b &&
23 test_must_fail git reset HEAD
26 test_expect_success 'reset $file' '
27 rm .git/index &&
28 git add a b &&
29 git reset a &&
31 echo b >expect &&
32 git ls-files >actual &&
33 test_cmp expect actual
36 test_expect_success PERL 'reset -p' '
37 rm .git/index &&
38 git add a &&
39 echo y >yes &&
40 git reset -p <yes >output &&
42 >expect &&
43 git ls-files >actual &&
44 test_cmp expect actual &&
45 test_i18ngrep "Unstage" output
48 test_expect_success 'reset --soft is a no-op' '
49 rm .git/index &&
50 git add a &&
51 git reset --soft &&
53 echo a >expect &&
54 git ls-files >actual &&
55 test_cmp expect actual
58 test_expect_success 'reset --hard' '
59 rm .git/index &&
60 git add a &&
61 test_when_finished "echo a >a" &&
62 git reset --hard &&
64 >expect &&
65 git ls-files >actual &&
66 test_cmp expect actual &&
67 test_path_is_missing a
70 test_done