(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'rebasing a commit with multi-line first paragraph.'>)}
          spids: [4]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (C {<test_expect_success>} {<setup>} 
      {
        (SQ <'\n'> <'\n'> <'\t>file &&\n'> <'\tgit add file &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -m initial &&\n'> <'\n'> <'\techo hello >file &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -a -m "A sample commit log message that has a long\n'> <'summary that spills over multiple lines.\n'> <'\n'> <'But otherwise with a sane description." &&\n'> 
          <'\n'> <'\tgit branch side &&\n'> <'\n'> <'\tgit reset --hard HEAD^ &&\n'> <'\t>elif &&\n'> 
          <'\tgit add elif &&\n'> <'\ttest_tick &&\n'> <'\tgit commit -m second\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {<rebase>} 
      {
        (SQ <'\n'> <'\n'> <'\tgit checkout side &&\n'> <'\tgit rebase master &&\n'> 
          <'\tgit cat-file commit HEAD | sed -e "1,/^\\$/d" >actual &&\n'> <'\tgit cat-file commit side@{1} | sed -e "1,/^\\$/d" >expect &&\n'> <'\ttest_cmp expect actual\n'> 
          <'\n'>
        )
      }
    )
    (C {<test_done>})
  ]
)