(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'More rename detection\n'> <'\n'>)}
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.Sentence
      child: (C {(.)} {(DQ ($ VSub_DollarName '$TEST_DIRECTORY')) (/diff-lib.sh)})
      terminator: <Op_Semi ';'>
    )
    (C {(test_expect_success)} {(SQ <'prepare reference tree'>)} 
      {
        (SQ <'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&\n'> <'     echo frotz >rezrov &&\n'> 
          <'    git update-index --add COPYING rezrov &&\n'> <'    tree=$(git write-tree) &&\n'> <'    echo $tree'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'prepare work tree'>)} 
      {(SQ <'sed -e '>) (s/HOWEVER/However/) (SQ <' <COPYING >COPYING.1 &&\n'> <'    sed -e '>) 
        (s/GPL/G.P.L/g) 
        (SQ <' <COPYING >COPYING.2 &&\n'> <'    rm -f COPYING &&\n'> 
          <'    git update-index --add --remove COPYING COPYING.?'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(git)} {(diff-index)} {(-C)} {(-p)} {($ VSub_DollarName '$tree')}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(current)})]
      more_env: [(env_pair name:GIT_DIFF_OPTS val:{(--unified) (Lit_Other '=') (0)})]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 142
          stdin_parts: [
            ('diff --git a/COPYING b/COPYING.1\n')
            ('copy from COPYING\n')
            ('copy to COPYING.1\n')
            ('--- a/COPYING\n')
            ('+++ b/COPYING.1\n')
            ('@@ -6 +6 @@\n')
            ('- HOWEVER, in order to allow a migration to GPLv3 if that seems like\n')
            ('+ However, in order to allow a migration to GPLv3 if that seems like\n')
            ('diff --git a/COPYING b/COPYING.2\n')
            ('rename from COPYING\n')
            ('rename to COPYING.2\n')
            ('--- a/COPYING\n')
            ('+++ b/COPYING.2\n')
            ('@@ -2 +2 @@\n')
            ('- Note that the only valid version of the GPL as far as this project\n')
            ('+ Note that the only valid version of the G.P.L as far as this project\n')
            ('@@ -6 +6 @@\n')
            ('- HOWEVER, in order to allow a migration to GPLv3 if that seems like\n')
            ('+ HOWEVER, in order to allow a migration to G.P.Lv3 if that seems like\n')
            ('@@ -12 +12 @@\n')
            ('-\tThis file is licensed under the GPL v2, or a later version\n')
            ('+\tThis file is licensed under the G.P.L v2, or a later version\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <'validate output from rename/copy detection (#1)'>)} 
      {(SQ <'compare_diff_patch current expected'>)}
    )
    (C {(test_expect_success)} {(SQ <'prepare work tree again'>)} 
      {
        (SQ <'mv COPYING.2 COPYING &&\n'> 
          <'     git update-index --add --remove COPYING COPYING.1 COPYING.2'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(git)} {(diff-index)} {(-C)} {(-p)} {($ VSub_DollarName '$tree')}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(current)})]
      more_env: [(env_pair name:GIT_DIFF_OPTS val:{(--unified) (Lit_Other '=') (0)})]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 235
          stdin_parts: [
            ('diff --git a/COPYING b/COPYING\n')
            ('--- a/COPYING\n')
            ('+++ b/COPYING\n')
            ('@@ -2 +2 @@\n')
            ('- Note that the only valid version of the GPL as far as this project\n')
            ('+ Note that the only valid version of the G.P.L as far as this project\n')
            ('@@ -6 +6 @@\n')
            ('- HOWEVER, in order to allow a migration to GPLv3 if that seems like\n')
            ('+ HOWEVER, in order to allow a migration to G.P.Lv3 if that seems like\n')
            ('@@ -12 +12 @@\n')
            ('-\tThis file is licensed under the GPL v2, or a later version\n')
            ('+\tThis file is licensed under the G.P.L v2, or a later version\n')
            ('diff --git a/COPYING b/COPYING.1\n')
            ('copy from COPYING\n')
            ('copy to COPYING.1\n')
            ('--- a/COPYING\n')
            ('+++ b/COPYING.1\n')
            ('@@ -6 +6 @@\n')
            ('- HOWEVER, in order to allow a migration to GPLv3 if that seems like\n')
            ('+ However, in order to allow a migration to GPLv3 if that seems like\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <'validate output from rename/copy detection (#2)'>)} 
      {(SQ <'compare_diff_patch current expected'>)}
    )
    (C {(test_expect_success)} {(SQ <'prepare work tree once again'>)} 
      {
        (SQ <'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&\n'> 
          <'     git update-index --add --remove COPYING COPYING.1'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(git)} {(diff-index)} {(-C)} {(--find-copies-harder)} {(-p)} {($ VSub_DollarName '$tree')}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(current)})]
      more_env: [(env_pair name:GIT_DIFF_OPTS val:{(--unified) (Lit_Other '=') (0)})]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 323
          stdin_parts: [
            ('diff --git a/COPYING b/COPYING.1\n')
            ('copy from COPYING\n')
            ('copy to COPYING.1\n')
            ('--- a/COPYING\n')
            ('+++ b/COPYING.1\n')
            ('@@ -6 +6 @@\n')
            ('- HOWEVER, in order to allow a migration to GPLv3 if that seems like\n')
            ('+ However, in order to allow a migration to GPLv3 if that seems like\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <'validate output from rename/copy detection (#3)'>)} 
      {(SQ <'compare_diff_patch current expected'>)}
    )
    (C {(test_done)})
  ]
)