(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'pulling from symlinked subdir'>)} spids: [4] ) ] 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)}) ] )