(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"typechange rename detection">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\n"> <"\trm -f foo bar &&\n"> <"\tcat \"$TEST_DIRECTORY\"/../COPYING >foo &&\n"> <"\ttest_ln_s_add linklink bar &&\n"> <"\tgit add foo &&\n"> <"\tgit commit -a -m Initial &&\n"> <"\tgit tag one &&\n"> <"\n"> <"\tgit rm -f foo bar &&\n"> <"\tcat \"$TEST_DIRECTORY\"/../COPYING >bar &&\n"> <"\ttest_ln_s_add linklink foo &&\n"> <"\tgit add bar &&\n"> <"\tgit commit -a -m Second &&\n"> <"\tgit tag two &&\n"> <"\n"> <"\tgit rm -f foo bar &&\n"> <"\tcat \"$TEST_DIRECTORY\"/../COPYING >foo &&\n"> <"\tgit add foo &&\n"> <"\tgit commit -a -m Third &&\n"> <"\tgit tag three &&\n"> <"\n"> <"\tmv foo bar &&\n"> <"\ttest_ln_s_add linklink foo &&\n"> <"\tgit add bar &&\n"> <"\tgit commit -a -m Fourth &&\n"> <"\tgit tag four &&\n"> <"\n"> <"\t# This is purely for sanity check\n"> <"\n"> <"\tgit rm -f foo bar &&\n"> <"\tcat \"$TEST_DIRECTORY\"/../COPYING >foo &&\n"> <"\tcat \"$TEST_DIRECTORY\"/../Makefile >bar &&\n"> <"\tgit add foo bar &&\n"> <"\tgit commit -a -m Fifth &&\n"> <"\tgit tag five &&\n"> <"\n"> <"\tgit rm -f foo bar &&\n"> <"\tcat \"$TEST_DIRECTORY\"/../Makefile >foo &&\n"> <"\tcat \"$TEST_DIRECTORY\"/../COPYING >bar &&\n"> <"\tgit add foo bar &&\n"> <"\tgit commit -a -m Sixth &&\n"> <"\tgit tag six\n"> <"\n"> ) } ) (C {(test_expect_success)} {(SQ <"cross renames to be detected for regular files">)} { (SQ <"\n"> <"\n"> <"\tgit diff-tree five six -r --name-status -B -M | sort >actual &&\n"> <"\t{\n"> <"\t\techo \"R100\tfoo\tbar\"\n"> <"\t\techo \"R100\tbar\tfoo\"\n"> <"\t} | sort >expect &&\n"> <"\ttest_cmp expect actual\n"> <"\n"> ) } ) (C {(test_expect_success)} {(SQ <"cross renames to be detected for typechange">)} { (SQ <"\n"> <"\n"> <"\tgit diff-tree one two -r --name-status -B -M | sort >actual &&\n"> <"\t{\n"> <"\t\techo \"R100\tfoo\tbar\"\n"> <"\t\techo \"R100\tbar\tfoo\"\n"> <"\t} | sort >expect &&\n"> <"\ttest_cmp expect actual\n"> <"\n"> ) } ) (C {(test_expect_success)} {(SQ <"moves and renames">)} { (SQ <"\n"> <"\n"> <"\tgit diff-tree three four -r --name-status -B -M | sort >actual &&\n"> <"\t{\n"> <"\t\t# see -B -M (#6) in t4008\n"> <"\t\techo \"C100\tfoo\tbar\"\n"> <"\t\techo \"T100\tfoo\"\n"> <"\t} | sort >expect &&\n"> <"\ttest_cmp expect actual\n"> <"\n"> ) } ) (C {(test_done)}) ] )