(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:'rebase can handle submodules' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-submodule-update.sh)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-rebase.sh)}) (command.ShFunction name: git_rebase body: (command.BraceGroup children: [ (command.AndOr ops: [ Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp ] children: [ (command.Simple words: [{(git)} {(status)} {(-su)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:43) fd: -1 arg_word: {(expect)} ) ] ) (command.Simple words: [{(ls)} {(-1pR)} {(Id.Lit_Star '*')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:55) fd: -1 arg_word: {(expect)} ) ] ) (C {(git)} {(checkout)} {(-b)} {(ours)} {(HEAD)}) (command.Simple words: [{(echo)} {(x)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:78) fd: -1 arg_word: {(file1)} ) ] ) (C {(git)} {(add)} {(file1)}) (C {(git)} {(commit)} {(-m)} {(add_x)}) (C {(git)} {(revert)} {(HEAD)}) (command.Simple words: [{(git)} {(status)} {(-su)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:119) fd: -1 arg_word: {(actual)} ) ] ) (command.Simple words: [{(ls)} {(-1pR)} {(Id.Lit_Star '*')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:131) fd: -1 arg_word: {(actual)} ) ] ) (C {(test_cmp)} {(expect)} {(actual)}) (C {(git)} {(rebase)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (C {(test_submodule_switch)} {(DQ (git_rebase))}) (command.ShFunction name: git_rebase_interactive body: (command.BraceGroup children: [ (command.AndOr ops: [ Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp ] children: [ (command.Simple words: [{(git)} {(status)} {(-su)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:178) fd: -1 arg_word: {(expect)} ) ] ) (command.Simple words: [{(ls)} {(-1pR)} {(Id.Lit_Star '*')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:190) fd: -1 arg_word: {(expect)} ) ] ) (C {(git)} {(checkout)} {(-b)} {(ours)} {(HEAD)}) (command.Simple words: [{(echo)} {(x)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:213) fd: -1 arg_word: {(file1)} ) ] ) (C {(git)} {(add)} {(file1)}) (C {(git)} {(commit)} {(-m)} {(add_x)}) (C {(git)} {(revert)} {(HEAD)}) (command.Simple words: [{(git)} {(status)} {(-su)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:254) fd: -1 arg_word: {(actual)} ) ] ) (command.Simple words: [{(ls)} {(-1pR)} {(Id.Lit_Star '*')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:266) fd: -1 arg_word: {(actual)} ) ] ) (C {(test_cmp)} {(expect)} {(actual)}) (C {(set_fake_editor)}) (command.Simple words: [{(echo)} {(DQ (fake-editor.sh))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:292) fd: -1 arg_word: {(.git/info/exclude)} ) ] ) (C {(git)} {(rebase)} {(-i)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR) op: assign_op.Equal rhs: {(1)} spids: [311] ) ] ) (C {(test_submodule_switch)} {(DQ (git_rebase_interactive))}) (C {(test_done)}) ] )