(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'unpack-trees error messages' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:19))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:23) (Token id:Id.Lit_Chars val:'\techo one >one &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\tgit add one &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\tgit commit -a -m First &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\n' span_id:27) (Token id:Id.Lit_Chars val:'\tgit checkout -b branch &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\techo two >two &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\techo three >three &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\techo four >four &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\techo five >five &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\tgit add two three four five &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\tgit commit -m Second &&\n' span_id:34) (Token id:Id.Lit_Chars val:'\n' span_id:35) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\techo other >two &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\techo other >three &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\techo other >four &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\techo other >five\n' span_id:40) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:(Token id:Id.Redir_Great val:'>' span_id:46) fd:-1 arg_word:{(expect)}) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:49) fd: -1 here_begin: {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\E' span_id:50)) (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 (Token id: Id.Lit_Chars val: 'untracked files overwritten by merge (fast and non-fast forward)' span_id: 65 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) (Token id: Id.Lit_Chars val: '\ttest_must_fail git merge branch 2>out &&\n' span_id: 70 ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp out expect &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\tgit commit --allow-empty -m empty &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\t(\n' span_id:73) (Token id:Id.Lit_Chars val:'\t\tGIT_MERGE_VERBOSITY=0 &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\t\texport GIT_MERGE_VERBOSITY &&\n' span_id:75) (Token id: Id.Lit_Chars val: '\t\ttest_must_fail git merge branch 2>out2\n' span_id: 76 ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp out2 expect &&\n' span_id:78) (Token id:Id.Lit_Chars val:'\tgit reset --hard HEAD^\n' span_id:79) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:(Token id:Id.Redir_Great val:'>' span_id:85) fd:-1 arg_word:{(expect)}) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:88) fd: -1 here_begin: {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\E' span_id:89)) (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 (Token id: Id.Lit_Chars val: 'untracked files or local changes ovewritten by merge' span_id: 106 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:110) (Token id:Id.Lit_Chars val:'\tgit add two &&\n' span_id:111) (Token id:Id.Lit_Chars val:'\tgit add three &&\n' span_id:112) (Token id:Id.Lit_Chars val:'\tgit add four &&\n' span_id:113) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge branch 2>out &&\n' span_id:114) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp out expect\n' span_id:115) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:121) fd: -1 arg_word: {(expect)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:124) fd: -1 here_begin: {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\E' span_id:125)) (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 (Token id:Id.Lit_Chars val:'cannot switch branches because of local changes' span_id:138))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:142) (Token id:Id.Lit_Chars val:'\tgit add five &&\n' span_id:143) (Token id:Id.Lit_Chars val:'\tmkdir rep &&\n' span_id:144) (Token id:Id.Lit_Chars val:'\techo one >rep/one &&\n' span_id:145) (Token id:Id.Lit_Chars val:'\techo two >rep/two &&\n' span_id:146) (Token id:Id.Lit_Chars val:'\tgit add rep/one rep/two &&\n' span_id:147) (Token id:Id.Lit_Chars val:'\tgit commit -m Fourth &&\n' span_id:148) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:149) (Token id:Id.Lit_Chars val:'\techo uno >rep/one &&\n' span_id:150) (Token id:Id.Lit_Chars val:'\techo dos >rep/two &&\n' span_id:151) (Token id:Id.Lit_Chars val:'\ttest_must_fail git checkout branch 2>out &&\n' span_id:152) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp out expect\n' span_id:153) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:159) fd: -1 arg_word: {(expect)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:162) fd: -1 here_begin: {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\E' span_id:163)) (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 (Token id:Id.Lit_Chars val:'not uptodate file porcelain checkout error' span_id:176))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:180) (Token id:Id.Lit_Chars val:'\tgit add rep/one rep/two &&\n' span_id:181) (Token id:Id.Lit_Chars val:'\ttest_must_fail git checkout branch 2>out &&\n' span_id:182) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp out expect\n' span_id:183) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:189) fd: -1 arg_word: {(expect)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:192) fd: -1 here_begin: {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\E' span_id:193)) (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 (Token id:Id.Lit_Chars val:'not_uptodate_dir porcelain checkout error' span_id:206))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:210) (Token id:Id.Lit_Chars val:'\tgit init uptodate &&\n' span_id:211) (Token id:Id.Lit_Chars val:'\tcd uptodate &&\n' span_id:212) (Token id:Id.Lit_Chars val:'\tmkdir rep &&\n' span_id:213) (Token id:Id.Lit_Chars val:'\tmkdir rep2 &&\n' span_id:214) (Token id:Id.Lit_Chars val:'\ttouch rep/foo &&\n' span_id:215) (Token id:Id.Lit_Chars val:'\ttouch rep2/foo &&\n' span_id:216) (Token id:Id.Lit_Chars val:'\tgit add rep/foo rep2/foo &&\n' span_id:217) (Token id:Id.Lit_Chars val:'\tgit commit -m init &&\n' span_id:218) (Token id:Id.Lit_Chars val:'\tgit checkout -b branch &&\n' span_id:219) (Token id:Id.Lit_Chars val:'\tgit rm rep -r &&\n' span_id:220) (Token id:Id.Lit_Chars val:'\tgit rm rep2 -r &&\n' span_id:221) (Token id:Id.Lit_Chars val:'\t>rep &&\n' span_id:222) (Token id:Id.Lit_Chars val:'\t>rep2 &&\n' span_id:223) (Token id:Id.Lit_Chars val:'\tgit add rep rep2&&\n' span_id:224) (Token id: Id.Lit_Chars val: '\tgit commit -m "added test as a file" &&\n' span_id: 225 ) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:226) (Token id:Id.Lit_Chars val:'\t>rep/untracked-file &&\n' span_id:227) (Token id:Id.Lit_Chars val:'\t>rep2/untracked-file &&\n' span_id:228) (Token id: Id.Lit_Chars val: '\ttest_must_fail git checkout branch 2>out &&\n' span_id: 229 ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp out ../expect\n' span_id:230) ) } ) (C {(test_done)}) ] )