#!/bin/sh global test_description := ''git reset should work on unborn branch'' source ./test-lib.sh test_expect_success 'setup' ' echo a >a && echo b >b ' test_expect_success 'reset' ' git add a b && git reset && >expect && git ls-files >actual && test_cmp expect 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 output && >expect && git ls-files >actual && test_cmp expect actual && test_i18ngrep "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 && >expect && git ls-files >actual && test_cmp expect actual && test_path_is_missing a ' test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git reset should work on unborn branch">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ )} {(SQ <"\n"> <"\techo a >a &&\n"> <"\techo b >b\n">)}) (C {(test_expect_success)} {(SQ )} { (SQ <"\n"> <"\tgit add a b &&\n"> <"\tgit reset &&\n"> <"\n"> <"\t>expect &&\n"> <"\tgit ls-files >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"reset HEAD">)} { (SQ <"\n"> <"\trm .git/index &&\n"> <"\tgit add a b &&\n"> <"\ttest_must_fail git reset HEAD\n">) } ) (C {(test_expect_success)} {(SQ <"reset $file">)} { (SQ <"\n"> <"\trm .git/index &&\n"> <"\tgit add a b &&\n"> <"\tgit reset a &&\n"> <"\n"> <"\techo b >expect &&\n"> <"\tgit ls-files >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(PERL)} {(SQ <"reset -p">)} { (SQ <"\n"> <"\trm .git/index &&\n"> <"\tgit add a &&\n"> <"\techo y >yes &&\n"> <"\tgit reset -p output &&\n"> <"\n"> <"\t>expect &&\n"> <"\tgit ls-files >actual &&\n"> <"\ttest_cmp expect actual &&\n"> <"\ttest_i18ngrep \"Unstage\" output\n"> ) } ) (C {(test_expect_success)} {(SQ <"reset --soft is a no-op">)} { (SQ <"\n"> <"\trm .git/index &&\n"> <"\tgit add a &&\n"> <"\tgit reset --soft &&\n"> <"\n"> <"\techo a >expect &&\n"> <"\tgit ls-files >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"reset --hard">)} { (SQ <"\n"> <"\trm .git/index &&\n"> <"\tgit add a &&\n"> <"\ttest_when_finished \"echo a >a\" &&\n"> <"\tgit reset --hard &&\n"> <"\n"> <"\t>expect &&\n"> <"\tgit ls-files >actual &&\n"> <"\ttest_cmp expect actual &&\n"> <"\ttest_path_is_missing a\n"> ) } ) (C {(test_done)}) ] )