| #!/bin/sh |
| |
| test_description='git reset should work on unborn branch' |
| |
| TEST_PASSES_SANITIZE_LEAK=true |
| . ./test-lib.sh |
| |
| test_expect_success 'setup' ' |
| echo a >a && |
| echo b >b |
| ' |
| |
| test_expect_success 'reset' ' |
| git add a b && |
| git reset && |
| |
| git ls-files >actual && |
| test_must_be_empty actual |
| ' |
| |
| test_expect_success 'reset HEAD' ' |
| rm .git/index && |
| git add a b && |
| test_must_fail git reset HEAD |
| ' |
| |
| test_expect_success 'reset $file' ' |
| rm .git/index && |
| git add a b && |
| git reset a && |
| |
| echo b >expect && |
| git ls-files >actual && |
| test_cmp expect actual |
| ' |
| |
| test_expect_success PERL 'reset -p' ' |
| rm .git/index && |
| git add a && |
| echo y >yes && |
| git reset -p <yes >output && |
| |
| git ls-files >actual && |
| test_must_be_empty actual && |
| test_grep "Unstage" output |
| ' |
| |
| test_expect_success 'reset --soft is a no-op' ' |
| rm .git/index && |
| git add a && |
| git reset --soft && |
| |
| echo a >expect && |
| git ls-files >actual && |
| test_cmp expect actual |
| ' |
| |
| test_expect_success 'reset --hard' ' |
| rm .git/index && |
| git add a && |
| test_when_finished "echo a >a" && |
| git reset --hard && |
| |
| git ls-files >actual && |
| test_must_be_empty actual && |
| test_path_is_missing a |
| ' |
| |
| test_done |