(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"combined and merge diff handle binary files and textconv">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <"setup binary merge conflict">)} { (SQ <"\n"> <"\techo oneQ1 | q_to_nul >binary &&\n"> <"\tgit add binary &&\n"> <"\tgit commit -m one &&\n"> <"\techo twoQ2 | q_to_nul >binary &&\n"> <"\tgit commit -a -m two &&\n"> <"\tgit checkout -b branch-binary HEAD^ &&\n"> <"\techo threeQ3 | q_to_nul >binary &&\n"> <"\tgit commit -a -m three &&\n"> <"\ttest_must_fail git merge master &&\n"> <"\techo resolvedQhooray | q_to_nul >binary &&\n"> <"\tgit commit -a -m resolved\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[38]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --git a/binary b/binary\n") ("index 7ea6ded..9563691 100644\n") ("Binary files a/binary and b/binary differ\n") ("resolved\n") ("\n") ("diff --git a/binary b/binary\n") ("index 6197570..9563691 100644\n") ("Binary files a/binary and b/binary differ\n") } do_expansion: False here_end: EOF was_filled: True spids: [41] ) ] ) (C {(test_expect_success)} {(SQ <"diff -m indicates binary-ness">)} {(SQ <"\n"> <"\tgit show --format=%s -m >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[61]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --combined binary\n") ("index 7ea6ded,6197570..9563691\n") ("Binary files differ\n") } do_expansion: False here_end: EOF was_filled: True spids: [64] ) ] ) (C {(test_expect_success)} {(SQ <"diff -c indicates binary-ness">)} {(SQ <"\n"> <"\tgit show --format=%s -c >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[84]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --cc binary\n") ("index 7ea6ded,6197570..9563691\n") ("Binary files differ\n") } do_expansion: False here_end: EOF was_filled: True spids: [87] ) ] ) (C {(test_expect_success)} {(SQ <"diff --cc indicates binary-ness">)} {(SQ <"\n"> <"\tgit show --format=%s --cc >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (C {(test_expect_success)} {(SQ <"setup non-binary with binary attribute">)} { (SQ <"\n"> <"\tgit checkout master &&\n"> <"\ttest_commit one text &&\n"> <"\ttest_commit two text &&\n"> <"\tgit checkout -b branch-text HEAD^ &&\n"> <"\ttest_commit three text &&\n"> <"\ttest_must_fail git merge master &&\n"> <"\ttest_commit resolved text &&\n"> <"\techo text -diff >.gitattributes\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[126]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --git a/text b/text\n") ("index 2bdf67a..2ab19ae 100644\n") ("Binary files a/text and b/text differ\n") ("resolved\n") ("\n") ("diff --git a/text b/text\n") ("index f719efd..2ab19ae 100644\n") ("Binary files a/text and b/text differ\n") } do_expansion: False here_end: EOF was_filled: True spids: [129] ) ] ) (C {(test_expect_success)} {(SQ <"diff -m respects binary attribute">)} {(SQ <"\n"> <"\tgit show --format=%s -m >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[149]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --combined text\n") ("index 2bdf67a,f719efd..2ab19ae\n") ("Binary files differ\n") } do_expansion: False here_end: EOF was_filled: True spids: [152] ) ] ) (C {(test_expect_success)} {(SQ <"diff -c respects binary attribute">)} {(SQ <"\n"> <"\tgit show --format=%s -c >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[172]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --cc text\n") ("index 2bdf67a,f719efd..2ab19ae\n") ("Binary files differ\n") } do_expansion: False here_end: EOF was_filled: True spids: [175] ) ] ) (C {(test_expect_success)} {(SQ <"diff --cc respects binary attribute">)} {(SQ <"\n"> <"\tgit show --format=%s --cc >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (C {(test_expect_success)} {(SQ <"setup textconv attribute">)} { (SQ <"\n"> <"\techo \"text diff=upcase\" >.gitattributes &&\n"> <"\tgit config diff.upcase.textconv \"tr a-z A-Z <\"\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[208]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --git a/text b/text\n") ("index 2bdf67a..2ab19ae 100644\n") ("--- a/text\n") ("+++ b/text\n") ("@@ -1 +1 @@\n") ("-THREE\n") ("+RESOLVED\n") ("resolved\n") ("\n") ("diff --git a/text b/text\n") ("index f719efd..2ab19ae 100644\n") ("--- a/text\n") ("+++ b/text\n") ("@@ -1 +1 @@\n") ("-TWO\n") ("+RESOLVED\n") } do_expansion: False here_end: EOF was_filled: True spids: [211] ) ] ) (C {(test_expect_success)} {(SQ <"diff -m respects textconv attribute">)} {(SQ <"\n"> <"\tgit show --format=%s -m >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[231]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --combined text\n") ("index 2bdf67a,f719efd..2ab19ae\n") ("--- a/text\n") ("+++ b/text\n") ("@@@ -1,1 -1,1 +1,1 @@@\n") ("- THREE\n") (" -TWO\n") ("++RESOLVED\n") } do_expansion: False here_end: EOF was_filled: True spids: [234] ) ] ) (C {(test_expect_success)} {(SQ <"diff -c respects textconv attribute">)} {(SQ <"\n"> <"\tgit show --format=%s -c >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[254]) (HereDoc op_id: Redir_DLess fd: -1 body: {("resolved\n") ("\n") ("diff --cc text\n") ("index 2bdf67a,f719efd..2ab19ae\n") ("--- a/text\n") ("+++ b/text\n") ("@@@ -1,1 -1,1 +1,1 @@@\n") ("- THREE\n") (" -TWO\n") ("++RESOLVED\n") } do_expansion: False here_end: EOF was_filled: True spids: [257] ) ] ) (C {(test_expect_success)} {(SQ <"diff --cc respects textconv attribute">)} {(SQ <"\n"> <"\tgit show --format=%s --cc >actual &&\n"> <"\ttest_cmp expect actual\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[277]) (HereDoc op_id: Redir_DLess fd: -1 body: {("diff --combined text\n") ("index 2bdf67a,f719efd..2ab19ae\n") ("--- a/text\n") ("+++ b/text\n") ("@@@ -1,1 -1,1 +1,1 @@@\n") ("- three\n") (" -two\n") ("++resolved\n") } do_expansion: False here_end: EOF was_filled: True spids: [280] ) ] ) (C {(test_expect_success)} {(SQ <"diff-tree plumbing does not respect textconv">)} { (SQ <"\n"> <"\tgit diff-tree HEAD -c -p >full &&\n"> <"\ttail -n +2 full >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[301]) (HereDoc op_id: Redir_DLess fd: -1 body: {("diff --cc text\n") ("index 2bdf67a,f719efd..0000000\n") ("--- a/text\n") ("+++ b/text\n") ("@@@ -1,1 -1,1 +1,5 @@@\n") ("++<<<<<<< HEAD\n") (" +THREE\n") ("++=======\n") ("+ TWO\n") ("++>>>>>>> MASTER\n") } do_expansion: False here_end: EOF was_filled: True spids: [304] ) ] ) (C {(test_expect_success)} {(SQ <"diff --cc respects textconv on worktree file">)} { (SQ <"\n"> <"\tgit reset --hard HEAD^ &&\n"> <"\ttest_must_fail git merge master &&\n"> <"\tgit diff >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_done)}) ] )