(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description spids:[4]) op: Equal rhs: {(SQ <'unpack-trees error messages'>)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <setup>)} { (SQ <'\n'> <'\techo one >one &&\n'> <'\tgit add one &&\n'> <'\tgit commit -a -m First &&\n'> <'\n'> <'\tgit checkout -b branch &&\n'> <'\techo two >two &&\n'> <'\techo three >three &&\n'> <'\techo four >four &&\n'> <'\techo five >five &&\n'> <'\tgit add two three four five &&\n'> <'\tgit commit -m Second &&\n'> <'\n'> <'\tgit checkout master &&\n'> <'\techo other >two &&\n'> <'\techo other >three &&\n'> <'\techo other >four &&\n'> <'\techo other >five\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 60 stdin_parts: [ ('error: The following untracked working tree files would be overwritten by merge:\n') ('\tfive\n') ('\tfour\n') ('\tthree\n') ('\ttwo\n') ('Please move or remove them before you merge.\n') ('Aborting\n') ] ) ] ) (C {(test_expect_success)} {(SQ <'untracked files overwritten by merge (fast and non-fast forward)'>)} { (SQ <'\n'> <'\ttest_must_fail git merge branch 2>out &&\n'> <'\ttest_i18ncmp out expect &&\n'> <'\tgit commit --allow-empty -m empty &&\n'> <'\t(\n'> <'\t\tGIT_MERGE_VERBOSITY=0 &&\n'> <'\t\texport GIT_MERGE_VERBOSITY &&\n'> <'\t\ttest_must_fail git merge branch 2>out2\n'> <'\t) &&\n'> <'\ttest_i18ncmp out2 expect &&\n'> <'\tgit reset --hard HEAD^\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 101 stdin_parts: [ ('error: Your local changes to the following files would be overwritten by merge:\n') ('\tfour\n') ('\tthree\n') ('\ttwo\n') ('Please commit your changes or stash them before you merge.\n') ('error: The following untracked working tree files would be overwritten by merge:\n') ('\tfive\n') ('Please move or remove them before you merge.\n') ('Aborting\n') ] ) ] ) (C {(test_expect_success)} {(SQ <'untracked files or local changes ovewritten by merge'>)} { (SQ <'\n'> <'\tgit add two &&\n'> <'\tgit add three &&\n'> <'\tgit add four &&\n'> <'\ttest_must_fail git merge branch 2>out &&\n'> <'\ttest_i18ncmp out expect\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 133 stdin_parts: [ ( 'error: Your local changes to the following files would be overwritten by checkout:\n' ) ('\trep/one\n') ('\trep/two\n') ('Please commit your changes or stash them before you switch branches.\n') ('Aborting\n') ] ) ] ) (C {(test_expect_success)} {(SQ <'cannot switch branches because of local changes'>)} { (SQ <'\n'> <'\tgit add five &&\n'> <'\tmkdir rep &&\n'> <'\techo one >rep/one &&\n'> <'\techo two >rep/two &&\n'> <'\tgit add rep/one rep/two &&\n'> <'\tgit commit -m Fourth &&\n'> <'\tgit checkout master &&\n'> <'\techo uno >rep/one &&\n'> <'\techo dos >rep/two &&\n'> <'\ttest_must_fail git checkout branch 2>out &&\n'> <'\ttest_i18ncmp out expect\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 171 stdin_parts: [ ( 'error: Your local changes to the following files would be overwritten by checkout:\n' ) ('\trep/one\n') ('\trep/two\n') ('Please commit your changes or stash them before you switch branches.\n') ('Aborting\n') ] ) ] ) (C {(test_expect_success)} {(SQ <'not uptodate file porcelain checkout error'>)} { (SQ <'\n'> <'\tgit add rep/one rep/two &&\n'> <'\ttest_must_fail git checkout branch 2>out &&\n'> <'\ttest_i18ncmp out expect\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)}) (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)} here_end_span_id: 201 stdin_parts: [ ('error: Updating the following directories would lose untracked files in it:\n') ('\trep\n') ('\trep2\n') ('\n') ('Aborting\n') ] ) ] ) (C {(test_expect_success)} {(SQ <'not_uptodate_dir porcelain checkout error'>)} { (SQ <'\n'> <'\tgit init uptodate &&\n'> <'\tcd uptodate &&\n'> <'\tmkdir rep &&\n'> <'\tmkdir rep2 &&\n'> <'\ttouch rep/foo &&\n'> <'\ttouch rep2/foo &&\n'> <'\tgit add rep/foo rep2/foo &&\n'> <'\tgit commit -m init &&\n'> <'\tgit checkout -b branch &&\n'> <'\tgit rm rep -r &&\n'> <'\tgit rm rep2 -r &&\n'> <'\t>rep &&\n'> <'\t>rep2 &&\n'> <'\tgit add rep rep2&&\n'> <'\tgit commit -m "added test as a file" &&\n'> <'\tgit checkout master &&\n'> <'\t>rep/untracked-file &&\n'> <'\t>rep2/untracked-file &&\n'> <'\ttest_must_fail git checkout branch 2>out &&\n'> <'\ttest_i18ncmp out ../expect\n'> ) } ) (C {(test_done)}) ] )