(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"Test --follow should always find copies hard in git log.\n"> <"\n">)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ VSub_Name "$TEST_DIRECTORY")) (/diff-lib.sh)})
    (SimpleCommand
      words: [{(echo)} {(SQ <"Line 1\n"> <"Line 2\n"> <"Line 3\n">)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path0)} spids:[33])]
    )
    (C {(test_expect_success)} {(SQ <"add a file path0 and commit.">)} 
      {(SQ <"git add path0 &&\n"> <"     git commit -m \"Add path0\"">)}
    )
    (SimpleCommand
      words: [{(echo)} {(SQ <"New line 1\n"> <"New line 2\n"> <"New line 3\n">)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path0)} spids:[61])]
    )
    (C {(test_expect_success)} {(SQ <"Change path0.">)} 
      {(SQ <"git add path0 &&\n"> <"     git commit -m \"Change path0\"">)}
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(path0)} spids:[88])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(path1)} spids:[91])
      ]
    )
    (C {(test_expect_success)} {(SQ <"copy path0 to path1.">)} 
      {(SQ <"git add path1 &&\n"> <"     git commit -m \"Copy path1 from path0\"">)}
    )
    (C {(test_expect_success)} {(SQ <"find the copy path0 -> path1 harder">)} 
      {(SQ <"git log --follow --name-status --pretty=\"format:%s\"  path1 > current">)}
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[127])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {("Copy path1 from path0\n") ("C100\tpath0\tpath1\n") ("\n") ("Change path0\n") 
              ("M\tpath0\n") ("\n") ("Add path0\n") ("A\tpath0\n")
            }
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [130]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"validate the output.">)} 
      {(SQ <"compare_diff_patch current expected">)}
    )
    (C {(test_done)})
  ]
)