(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:'sparse checkout scope tests' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:18))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) (Token id:Id.Lit_Chars val:'\techo "initial" >a &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\techo "initial" >b &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\techo "initial" >c &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\tgit add a b c &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\tgit commit -m "initial commit"\n' span_id:27) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'create feature branch' span_id:34))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:38) (Token id:Id.Lit_Chars val:'\tgit checkout -b feature &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\techo "modified" >b &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\techo "modified" >c &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\tgit add b c &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\tgit commit -m "modification"\n' span_id:43) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'perform sparse checkout of master' span_id:50))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:54) (Token id: Id.Lit_Chars val: '\tgit config --local --bool core.sparsecheckout true &&\n' span_id: 55 ) (Token id:Id.Lit_Chars val:'\techo "!/*" >.git/info/sparse-checkout &&\n' span_id:56) (Token id: Id.Lit_Chars val: '\techo "/a" >>.git/info/sparse-checkout &&\n' span_id: 57 ) (Token id:Id.Lit_Chars val:'\techo "/c" >>.git/info/sparse-checkout &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:59) (Token id:Id.Lit_Chars val:'\ttest_path_is_file a &&\n' span_id:60) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing b &&\n' span_id:61) (Token id:Id.Lit_Chars val:'\ttest_path_is_file c\n' span_id:62) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge feature branch into sparse checkout of master' span_id: 69 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:73) (Token id:Id.Lit_Chars val:'\tgit merge feature &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\ttest_path_is_file a &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing b &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\ttest_path_is_file c &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\ttest "$(cat c)" = "modified"\n' span_id:78) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'return to full checkout of master' span_id:85))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:89) (Token id:Id.Lit_Chars val:'\tgit checkout feature &&\n' span_id:90) (Token id:Id.Lit_Chars val:'\techo "/*" >.git/info/sparse-checkout &&\n' span_id:91) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:92) (Token id:Id.Lit_Chars val:'\ttest_path_is_file a &&\n' span_id:93) (Token id:Id.Lit_Chars val:'\ttest_path_is_file b &&\n' span_id:94) (Token id:Id.Lit_Chars val:'\ttest_path_is_file c &&\n' span_id:95) (Token id:Id.Lit_Chars val:'\ttest "$(cat b)" = "modified"\n' span_id:96) ) } ) (C {(test_done)}) ] )