(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git svn commit-diff'>)}
          spids: [9]
        )
      ]
    )
    (C {<.>} {<'./lib-git-svn.sh'>})
    (C {<test_expect_success>} {(SQ <'initialize repo'>)} 
      {
        (SQ <'\n'> <'\tmkdir import &&\n'> <'\t(\n'> <'\t\tcd import &&\n'> 
          <'\t\techo hello >readme &&\n'> <'\t\tsvn_cmd import -m "initial" . "$svnrepo"\n'> <'\t) &&\n'> <'\techo hello > readme &&\n'> 
          <'\tgit update-index --add readme &&\n'> <'\tgit commit -a -m "initial" &&\n'> <'\techo world >> readme &&\n'> 
          <'\tgit commit -a -m "another"\n'> <'\t'>
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:head)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<git>} {<rev-parse>} {<--verify>} {<HEAD> <Id.Lit_Other '^'> <0>})
              )
            }
          spids: [42]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:prev)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<git>} {<rev-parse>} {<--verify>} {<HEAD> <Id.Lit_Other '^'> <1>})
              )
            }
          spids: [55]
        )
      ]
    )
    (C {<test_expect_success>} {(SQ <'test the commit-diff command'>)} 
      {
        (SQ <'\n'> <'\ttest -n "$prev" && test -n "$head" &&\n'> 
          <'\tgit svn commit-diff -r1 "$prev" "$head" "$svnrepo" &&\n'> <'\tsvn_cmd co "$svnrepo" wc &&\n'> <'\tcmp readme wc/readme\n'> <'\t'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'commit-diff to a sub-directory (with git svn config)'>)} 
      {
        (SQ <'\n'> <'\tsvn_cmd import -m "sub-directory" import "$svnrepo"/subdir &&\n'> 
          <'\tgit svn init --minimize-url "$svnrepo"/subdir &&\n'> <'\tgit svn fetch &&\n'> <'\tgit svn commit-diff -r3 "$prev" "$head" &&\n'> 
          <'\tsvn_cmd cat "$svnrepo"/subdir/readme > readme.2 &&\n'> <'\tcmp readme readme.2\n'> <'\t'>
        )
      }
    )
    (C {<test_done>})
  ]
)