(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)}) ] )