(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"Test built-in diff output engine.\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">)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path0)} spids:[33])] ) (SimpleCommand words: [{(cat)} {(path0)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path1)} spids:[46])] ) (C {(chmod)} {(Lit_Other "+") (x)} {(path1)}) (C {(test_expect_success)} {(SQ <"update-index --add two files with and without +x.">)} {(SQ <"\n"> <"\tgit update-index --add path0 path1\n">)} ) (C {(mv)} {(path0)} {(path0-)}) (SimpleCommand words: [{(sed)} {(-e)} {(SQ <s/line/Line/>)}] redirects: [ (Redir op_id:Redir_Less fd:-1 arg_word:{(path0-)} spids:[83]) (Redir op_id:Redir_Great fd:-1 arg_word:{(path0)} spids:[86]) ] ) (C {(chmod)} {(Lit_Other "+") (x)} {(path0)}) (C {(rm)} {(-f)} {(path1)}) (C {(test_expect_success)} {(SQ <"git diff-files -p after editing work tree.">)} {(SQ <"\n"> <"\tgit diff-files -p >actual\n">)} ) (If arms: [ (if_arm cond: [ (C {(Lit_Other "[")} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--get)} {(core.filemode)})] ) left_token: <Left_CommandSub "$("> spids: [122 130] ) ) } {(Lit_Other "=")} {(false)} {(Lit_Other "]")} ) ] action: [(C {(say)} {(SQ <"filemode disabled on the filesystem">)}) (C {(test_done)})] spids: [-1 139] ) ] spids: [-1 151] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[156]) (HereDoc op_id: Redir_DLess fd: -1 body: {("diff --git a/path0 b/path0\n") ("old mode 100644\n") ("new mode 100755\n") ("--- a/path0\n") ("+++ b/path0\n") ("@@ -1,3 +1,3 @@\n") (" Line 1\n") (" Line 2\n") ("-line 3\n") ("+Line 3\n") ("diff --git a/path1 b/path1\n") ("deleted file mode 100755\n") ("--- a/path1\n") ("+++ /dev/null\n") ("@@ -1,3 +0,0 @@\n") ("-Line 1\n") ("-Line 2\n") ("-line 3\n") } do_expansion: False here_end: EOF was_filled: True spids: [159] ) ] ) (C {(test_expect_success)} {(SQ <"validate git diff-files -p output.">)} {(SQ <"\n"> <"\tcompare_diff_patch expected actual\n">)} ) (C {(test_expect_success)} {(SQ <"git diff-files -s after editing work tree">)} { (SQ <"\n"> <"\tgit diff-files -s >actual 2>err &&\n"> <"\ttest_must_be_empty actual &&\n"> <"\ttest_must_be_empty err\n"> ) } ) (C {(test_expect_success)} {(SQ <"git diff-files --no-patch as synonym for -s">)} { (SQ <"\n"> <"\tgit diff-files --no-patch >actual 2>err &&\n"> <"\ttest_must_be_empty actual &&\n"> <"\ttest_must_be_empty err\n"> ) } ) (C {(test_expect_success)} {(SQ <"git diff-files --no-patch --patch shows the patch">)} { (SQ <"\n"> <"\tgit diff-files --no-patch --patch >actual &&\n"> <"\tcompare_diff_patch expected actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"git diff-files --no-patch --patch-with-raw shows the patch and raw data">)} { (SQ <"\n"> <"\tgit diff-files --no-patch --patch-with-raw >actual &&\n"> < "\tgrep -q \"^:100644 100755 .* 0000000000000000000000000000000000000000 M\tpath0\\$\" actual &&\n" > <"\ttail -n +4 actual >actual-patch &&\n"> <"\tcompare_diff_patch expected actual-patch\n"> ) } ) (C {(test_expect_success)} {(SQ <"git diff-files --patch --no-patch does not show the patch">)} { (SQ <"\n"> <"\tgit diff-files --patch --no-patch >actual 2>err &&\n"> <"\ttest_must_be_empty actual &&\n"> <"\ttest_must_be_empty err\n"> ) } ) (C {(test_done)}) ] )