(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'basic rebase topology tests'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {(DQ ($ Id.VSub_DollarName TEST_DIRECTORY)) <'/lib-rebase.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <setup>)}
        {
          (SQ <'\n'> <'\ttest_commit a &&\n'> <'\ttest_commit b &&\n'> <'\ttest_commit c &&\n'> 
            <'\tgit checkout b &&\n'> <'\ttest_commit d &&\n'> <'\ttest_commit e\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'simple rebase '> ($ Id.VSub_Star '*'))}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' c e &&\n'> <'\t\ttest_cmp_rev c HEAD~2 &&\n'> <'\t\ttest_linear_range \'d e\' c..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' is no-op if upstream is an ancestor'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' b e &&\n'> <'\t\ttest_cmp_rev e HEAD\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {
                  (DQ <'rebase '> ($ Id.VSub_Star '*') <' -f rewrites even if upstream is an ancestor'>)
                }
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' -f b e &&\n'> <'\t\t! test_cmp_rev e HEAD &&\n'> <'\t\ttest_cmp_rev b HEAD~2 &&\n'> 
                    <'\t\ttest_linear_range \'d e\' b..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' fast-forwards from ancestor of upstream'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' e b &&\n'> <'\t\ttest_cmp_rev e HEAD\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup of linear history for range selection tests'>)}
        {
          (SQ <'\n'> <'\tgit checkout c &&\n'> <'\ttest_commit g &&\n'> <'\trevert h g &&\n'> 
            <'\tgit checkout d &&\n'> <'\tcherry_pick gp g &&\n'> <'\ttest_commit i &&\n'> <'\tgit checkout b &&\n'> <'\ttest_commit f\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' drops patches in upstream'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' h i &&\n'> <'\t\ttest_cmp_rev h HEAD~2 &&\n'> <'\t\ttest_linear_range \'d i\' h..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' can drop last patch if in upstream'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' h gp &&\n'> <'\t\ttest_cmp_rev h HEAD^ &&\n'> <'\t\ttest_linear_range \'d\' h..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' --onto drops patches in upstream'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --onto f h i &&\n'> <'\t\ttest_cmp_rev f HEAD~2 &&\n'> <'\t\ttest_linear_range \'d i\' f..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' --onto does not drop patches in onto'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --onto h f i &&\n'> <'\t\ttest_cmp_rev h HEAD~3 &&\n'> <'\t\ttest_linear_range \'d gp i\' h..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup of linear history for empty commit tests'>)}
        {
          (SQ <'\n'> <'\tgit checkout c &&\n'> <'\tmake_empty j &&\n'> <'\tgit checkout d &&\n'> 
            <'\tmake_empty k &&\n'> <'\ttest_commit l\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' drops empty commit'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' c l &&\n'> <'\t\ttest_cmp_rev c HEAD~2 &&\n'> <'\t\ttest_linear_range \'d l\' c..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' --keep-empty'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --keep-empty c l &&\n'> <'\t\ttest_cmp_rev c HEAD~3 &&\n'> <'\t\ttest_linear_range \'d k l\' c..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {
                  (DQ <'rebase '> ($ Id.VSub_Star '*') 
                    <' --keep-empty keeps empty even if already in upstream'>
                  )
                }
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --keep-empty j l &&\n'> <'\t\ttest_cmp_rev j HEAD~3 &&\n'> <'\t\ttest_linear_range \'d k l\' j..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup of linear history for test involving root'>)}
        {
          (SQ <'\n'> <'\tgit checkout b &&\n'> <'\trevert m b &&\n'> 
            <'\tgit checkout --orphan disjoint &&\n'> <'\tgit rm -rf . &&\n'> <'\ttest_commit x &&\n'> <'\ttest_commit y &&\n'> <'\tcherry_pick bp b\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' --onto --root'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --onto c --root y &&\n'> <'\t\ttest_cmp_rev c HEAD~2 &&\n'> <'\t\ttest_linear_range \'x y\' c..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {
                  (DQ <'rebase '> ($ Id.VSub_Star '*') <' without --onto --root with disjoint history'>)
                }
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' c y &&\n'> <'\t\ttest_cmp_rev c HEAD~2 &&\n'> <'\t\ttest_linear_range \'x y\' c..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' --onto --root drops patch in onto'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --onto m --root bp &&\n'> <'\t\ttest_cmp_rev m HEAD~2 &&\n'> <'\t\ttest_linear_range \'x y\' m..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {
                  (DQ <'rebase '> ($ Id.VSub_Star '*') 
                    <' --onto --root with merge-base does not go to root'>
                  )
                }
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --onto m --root g &&\n'> <'\t\ttest_cmp_rev m HEAD~2 &&\n'> <'\t\ttest_linear_range \'c g\' m..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {
                  (DQ <'rebase '> ($ Id.VSub_Star '*') 
                    <' without --onto --root with disjoint history drops patch in onto'>
                  )
                }
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' m bp &&\n'> <'\t\ttest_cmp_rev m HEAD~2 &&\n'> <'\t\ttest_linear_range \'x y\' m..\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {(DQ <'rebase '> ($ Id.VSub_Star '*') <' --root on linear history is a no-op'>)}
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' --root c &&\n'> <'\t\ttest_cmp_rev c HEAD\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<failure>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <test_run_rebase>
      name: test_run_rebase
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <test_expect_>
              more_env: []
              words: [
                {<test_expect_> ($ Id.VSub_DollarName result)}
                {
                  (DQ <'rebase '> ($ Id.VSub_Star '*') <' -f --root on linear history causes re-write'>)
                }
                {
                  (DQ <'\n'> <'\t\treset_rebase &&\n'> <'\t\tgit rebase '> ($ Id.VSub_Star '*') 
                    <' -f --root c &&\n'> <'\t\t! test_cmp_rev a HEAD~2 &&\n'> <'\t\ttest_linear_range \'a b c\' HEAD\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {(SQ )}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-m>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-i>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_run_rebase>
      more_env: []
      words: [{<test_run_rebase>} {<success>} {<-p>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)