(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:'git apply handling submodules' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-submodule-update.sh)}) (command.ShFunction name: apply_index body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(git)} {(diff)} {(--ignore-submodules) (Id.Lit_Equals '=') (dirty)} {(DQ (..) ($ Id.VSub_Number '$1'))} ) (C {(git)} {(apply)} {(--index)} {(-)}) ] negated: F ) ] ) ) (C {(test_submodule_switch)} {(DQ (apply_index))}) (command.ShFunction name: apply_3way body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(git)} {(diff)} {(--ignore-submodules) (Id.Lit_Equals '=') (dirty)} {(DQ (..) ($ Id.VSub_Number '$1'))} ) (C {(git)} {(apply)} {(--3way)} {(-)}) ] negated: F ) ] ) ) (C {(test_submodule_switch)} {(DQ (apply_3way))}) (C {(test_done)}) ] )