(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'pulling from symlinked subdir'>)} spids: [4] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {<SYMLINKS>} {<setup>} { (SQ <'\n'> <'\tmkdir subdir &&\n'> <'\techo file >subdir/file &&\n'> <'\tgit add subdir/file &&\n'> <'\tgit commit -q -m file &&\n'> <'\tgit clone -q . clone-repo &&\n'> <'\tln -s clone-repo/subdir/ subdir-link &&\n'> <'\t(\n'> <'\t\tcd clone-repo &&\n'> <'\t\tgit config receive.denyCurrentBranch warn\n'> <'\t) &&\n'> <'\tgit config receive.denyCurrentBranch warn\n'> ) } ) (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'pulling from real subdir'>)} { (SQ <'\n'> <'\t(\n'> <'\t\techo real >subdir/file &&\n'> <'\t\tgit commit -m real subdir/file &&\n'> <'\t\tcd clone-repo/subdir/ &&\n'> <'\t\tgit pull &&\n'> <'\t\ttest real = $(cat file)\n'> <'\t)\n'> ) } ) (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'pulling from symlinked subdir'>)} { (SQ <'\n'> <'\t(\n'> <'\t\techo link >subdir/file &&\n'> <'\t\tgit commit -m link subdir/file &&\n'> <'\t\tcd subdir-link/ &&\n'> <'\t\tgit pull &&\n'> <'\t\ttest link = $(cat file)\n'> <'\t)\n'> ) } ) (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'pushing from symlinked subdir'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd subdir-link/ &&\n'> <'\t\techo push >file &&\n'> <'\t\tgit commit -m push ./file &&\n'> <'\t\tgit push\n'> <'\t) &&\n'> <'\ttest push = $(git show HEAD:subdir/file)\n'> ) } ) (C {<test_done>}) ] )