(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: 
            {
              (SQ <'More rename detection tests.\n'> <'\n'> 
                <'The rename detection logic should be able to detect pure rename or\n'> <'copy of symbolic links, but should not produce rename/copy followed\n'> <'by an edit for them.\n'>
              )
            }
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ VSub_Name '$TEST_DIRECTORY')) (/diff-lib.sh)})
    (C {(test_expect_success)} {(SYMLINKS)} {(SQ <'prepare reference tree'>)} 
      {(SQ <'echo xyzzy | tr -d '>) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
        (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
        (SQ <'012 >yomin &&\n'> <'     ln -s xyzzy frotz &&\n'> 
          <'    git update-index --add frotz yomin &&\n'> <'    tree=$(git write-tree) &&\n'> <'    echo $tree'>
        )
      }
    )
    (C {(test_expect_success)} {(SYMLINKS)} {(SQ <'prepare work tree'>)} 
      {
        (SQ <'mv frotz rezrov &&\n'> <'     rm -f yomin &&\n'> <'     ln -s xyzzy nitfol &&\n'> 
          <'     ln -s xzzzy bozbar &&\n'> <'    git update-index --add --remove frotz rezrov nitfol bozbar yomin'>
        )
      }
    )
    (C {(test_expect_success)} {(SYMLINKS)} {(SQ <'setup diff output'>)} 
      {
        (DQ ('\n') ('    GIT_DIFF_OPTS=--unified=0 git diff-index -C -p ') ($ VSub_Name '$tree') 
          (' >current &&\n') ('    cat >expected <<') (Lit_Other '\\') ('EOF\n') ('diff --git a/bozbar b/bozbar\n') 
          ('new file mode 120000\n') ('--- /dev/null\n') ('+++ b/bozbar\n') ('@@ -0,0 +1 @@\n') ('+xzzzy\n') (Lit_Other '\\') 
          (' No newline at end of file\n') ('diff --git a/frotz b/nitfol\n') ('similarity index 100%\n') ('copy from frotz\n') ('copy to nitfol\n') 
          ('diff --git a/frotz b/rezrov\n') ('similarity index 100%\n') ('rename from frotz\n') ('rename to rezrov\n') 
          ('diff --git a/yomin b/yomin\n') ('deleted file mode 100644\n') ('--- a/yomin\n') ('+++ /dev/null\n') ('@@ -1 +0,0 @@\n') ('-xyzzy\n') 
          (Lit_Other '\\') (' No newline at end of file\n') ('EOF\n')
        )
      }
    )
    (C {(test_expect_success)} {(SYMLINKS)} {(SQ <'validate diff output'>)} 
      {(SQ <'compare_diff_patch current expected'>)}
    )
    (C {(test_done)})
  ]
)