(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_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] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<.>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) <'/diff-lib.sh'>}) (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'prepare reference tree'>)} {(SQ <'echo xyzzy | tr -d '>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Id.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 '> ($ Id.VSub_DollarName '$tree') <' >current &&\n'> <' cat >expected <<'> <Id.Lit_BadBackslash '\\'> <'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'> <Id.Lit_BadBackslash '\\'> <' 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'> <Id.Lit_BadBackslash '\\'> <' 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>}) ] )