(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: { (SQ <'git checkout-index -u test.\n'> <'\n'> <'With -u flag, git checkout-index internally runs the equivalent of\n'> <'git update-index --refresh on the checked out entry.'> ) } spids: [13] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {(SQ <preparation>)} { (SQ <'\n'> <'echo frotz >path0 &&\n'> <'git update-index --add path0 &&\n'> <'t=$(git write-tree)'> ) } ) (C {<test_expect_success>} {(SQ <'without -u, git checkout-index smudges stat information.'>)} { (SQ <'\n'> <'rm -f path0 &&\n'> <'git read-tree $t &&\n'> <'git checkout-index -f -a &&\n'> <'test_must_fail git diff-files --exit-code'> ) } ) (C {<test_expect_success>} {(SQ <'with -u, git checkout-index picks up stat information from new files.'>)} { (SQ <'\n'> <'rm -f path0 &&\n'> <'git read-tree $t &&\n'> <'git checkout-index -u -f -a &&\n'> <'git diff-files --exit-code'> ) } ) (C {<test_done>}) ] )