(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"git svn commit-diff">)}
          spids: [9]
        )
      ]
      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">
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:head)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD) (Lit_Other "^") (0)})]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [43 53]
              )
            }
          spids: [42]
        )
      ]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:prev)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD) (Lit_Other "^") (1)})]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [56 66]
              )
            }
          spids: [55]
        )
      ]
      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)})
  ]
)