(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_description) op: Equal rhs: {(SQ <'merge can handle submodules'>)} ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(.)} {(DQ ($ VSub_DollarName '$TEST_DIRECTORY')) (/lib-submodule-update.sh)}) (C {(test_submodule_switch)} {(DQ ('git merge'))}) (C {(test_submodule_switch)} {(DQ ('git merge --ff'))}) (C {(test_submodule_switch)} {(DQ ('git merge --ff-only'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR) op: Equal rhs: {(1)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name: KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES ) op: Equal rhs: {(1)} ) ] ) (C {(test_submodule_switch)} {(DQ ('git merge --no-ff'))}) (C {(test_done)}) ] )