(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:'pulling from symlinked subdir' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SYMLINKS)} {(setup)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:50) (Token id:Id.Lit_Chars val:'\tmkdir subdir &&\n' span_id:51) (Token id:Id.Lit_Chars val:'\techo file >subdir/file &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit add subdir/file &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\tgit commit -q -m file &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\tgit clone -q . clone-repo &&\n' span_id:55) (Token id:Id.Lit_Chars val:'\tln -s clone-repo/subdir/ subdir-link &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\t(\n' span_id:57) (Token id:Id.Lit_Chars val:'\t\tcd clone-repo &&\n' span_id:58) (Token id: Id.Lit_Chars val: '\t\tgit config receive.denyCurrentBranch warn\n' span_id: 59 ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:60) (Token id: Id.Lit_Chars val: '\tgit config receive.denyCurrentBranch warn\n' span_id: 61 ) ) } ) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'pulling from real subdir' span_id:76))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:80) (Token id:Id.Lit_Chars val:'\t(\n' span_id:81) (Token id:Id.Lit_Chars val:'\t\techo real >subdir/file &&\n' span_id:82) (Token id:Id.Lit_Chars val:'\t\tgit commit -m real subdir/file &&\n' span_id:83) (Token id:Id.Lit_Chars val:'\t\tcd clone-repo/subdir/ &&\n' span_id:84) (Token id:Id.Lit_Chars val:'\t\tgit pull &&\n' span_id:85) (Token id:Id.Lit_Chars val:'\t\ttest real = $(cat file)\n' span_id:86) (Token id:Id.Lit_Chars val:'\t)\n' span_id:87) ) } ) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'pulling from symlinked subdir' span_id:150))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:154) (Token id:Id.Lit_Chars val:'\t(\n' span_id:155) (Token id:Id.Lit_Chars val:'\t\techo link >subdir/file &&\n' span_id:156) (Token id:Id.Lit_Chars val:'\t\tgit commit -m link subdir/file &&\n' span_id:157) (Token id:Id.Lit_Chars val:'\t\tcd subdir-link/ &&\n' span_id:158) (Token id:Id.Lit_Chars val:'\t\tgit pull &&\n' span_id:159) (Token id:Id.Lit_Chars val:'\t\ttest link = $(cat file)\n' span_id:160) (Token id:Id.Lit_Chars val:'\t)\n' span_id:161) ) } ) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'pushing from symlinked subdir' span_id:179))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:183) (Token id:Id.Lit_Chars val:'\t(\n' span_id:184) (Token id:Id.Lit_Chars val:'\t\tcd subdir-link/ &&\n' span_id:185) (Token id:Id.Lit_Chars val:'\t\techo push >file &&\n' span_id:186) (Token id:Id.Lit_Chars val:'\t\tgit commit -m push ./file &&\n' span_id:187) (Token id:Id.Lit_Chars val:'\t\tgit push\n' span_id:188) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:189) (Token id: Id.Lit_Chars val: '\ttest push = $(git show HEAD:subdir/file)\n' span_id: 190 ) ) } ) (C {(test_done)}) ] )