(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:'checkout from unborn branch' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:17))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:21) (Token id:Id.Lit_Chars val:'\tmkdir parent &&\n' span_id:22) (Token id:Id.Lit_Chars val:'\t(cd parent &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\t git init &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\t echo content >file &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\t git add file &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\t git commit -m base\n' span_id:27) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\tgit fetch parent master:origin\n' span_id:29) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checkout from unborn preserves untracked files' span_id:36))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:40) (Token id:Id.Lit_Chars val:'\techo precious >expect &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\techo precious >file &&\n' span_id:42) (Token id: Id.Lit_Chars val: '\ttest_must_fail git checkout -b new origin &&\n' span_id: 43 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect file\n' span_id:44) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checkout from unborn preserves index contents' span_id:51))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:55) (Token id:Id.Lit_Chars val:'\techo precious >expect &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\techo precious >file &&\n' span_id:57) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\ttest_must_fail git checkout -b new origin &&\n' span_id:59) (Token id:Id.Lit_Chars val:'\ttest_cmp expect file &&\n' span_id:60) (Token id:Id.Lit_Chars val:'\tgit show :file >file &&\n' span_id:61) (Token id:Id.Lit_Chars val:'\ttest_cmp expect file\n' span_id:62) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'checkout from unborn merges identical index contents' span_id: 69 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:73) (Token id:Id.Lit_Chars val:'\techo content >file &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\tgit checkout -b new origin\n' span_id:76) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking out another branch from unborn state' span_id:83))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:87) (Token id:Id.Lit_Chars val:'\tgit checkout --orphan newroot &&\n' span_id:88) (Token id:Id.Lit_Chars val:'\tgit checkout -b anothername &&\n' span_id:89) (Token id: Id.Lit_Chars val: '\ttest_must_fail git show-ref --verify refs/heads/newroot &&\n' span_id: 90 ) (Token id:Id.Lit_Chars val:'\tgit symbolic-ref HEAD >actual &&\n' span_id:91) (Token id: Id.Lit_Chars val: '\techo refs/heads/anothername >expect &&\n' span_id: 92 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:93) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking out in a newly created repo' span_id:100))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:104) (Token id:Id.Lit_Chars val:'\ttest_create_repo empty &&\n' span_id:105) (Token id:Id.Lit_Chars val:'\t(\n' span_id:106) (Token id:Id.Lit_Chars val:'\t\tcd empty &&\n' span_id:107) (Token id:Id.Lit_Chars val:'\t\tgit symbolic-ref HEAD >expect &&\n' span_id:108) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git checkout &&\n' span_id:109) (Token id:Id.Lit_Chars val:'\t\tgit symbolic-ref HEAD >actual &&\n' span_id:110) (Token id:Id.Lit_Chars val:'\t\ttest_cmp expect actual\n' span_id:111) (Token id:Id.Lit_Chars val:'\t)\n' span_id:112) ) } ) (C {(test_done)}) ] )