(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git cat-file textconv support">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(helper)} spids:[16]) (HereDoc op_id: Redir_DLess fd: -1 body: {("#!/bin/sh\n") ( "grep -q '^bin: ' \"$1\" || { echo \"E: $1 is not \\\"binary\\\" file\" 1>&2; exit 1; }\n" ) ("sed 's/^bin: /converted: /' \"$1\"\n") } do_expansion: False here_end: EOF was_filled: True spids: [19] ) ] ) (C {(chmod)} {(Lit_Other "+") (x)} {(helper)}) (C {(test_expect_success)} {(SQ <"setup ">)} { (SQ <"\n"> <"\techo \"bin: test\" >one.bin &&\n"> <"\ttest_ln_s_add one.bin symlink.bin &&\n"> <"\tgit add . &&\n"> <"\tGIT_AUTHOR_NAME=Number1 git commit -a -m First --date=\"2010-01-01 18:00:00\" &&\n"> <"\techo \"bin: test version 2\" >one.bin &&\n"> <"\tGIT_AUTHOR_NAME=Number2 git commit -a -m Second --date=\"2010-01-01 20:00:00\"\n"> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[51]) (HereDoc op_id: Redir_DLess fd: -1 body: {(DQ ("bin: test version 2\n"))} do_expansion: True here_end: EOF was_filled: True spids: [54] ) ] ) (C {(test_expect_success)} {(SQ <"no filter specified">)} { (SQ <"\n"> <"\tgit cat-file --textconv :one.bin >result &&\n"> <"\ttest_cmp expected result\n">) } ) (C {(test_expect_success)} {(SQ <"setup textconv filters">)} { (SQ <"\n"> <"\techo \"*.bin diff=test\" >.gitattributes &&\n"> <"\tgit config diff.test.textconv ./helper &&\n"> <"\tgit config diff.test.cachetextconv false\n"> ) } ) (C {(test_expect_success)} {(SQ <"cat-file without --textconv">)} {(SQ <"\n"> <"\tgit cat-file blob :one.bin >result &&\n"> <"\ttest_cmp expected result\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[101]) (HereDoc op_id: Redir_DLess fd: -1 body: {(DQ ("bin: test\n"))} do_expansion: True here_end: EOF was_filled: True spids: [104] ) ] ) (C {(test_expect_success)} {(SQ <"cat-file without --textconv on previous commit">)} {(SQ <"\n"> <"\tgit cat-file -p HEAD^:one.bin >result &&\n"> <"\ttest_cmp expected result\n">)} ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[124]) (HereDoc op_id: Redir_DLess fd: -1 body: {(DQ ("converted: test version 2\n"))} do_expansion: True here_end: EOF was_filled: True spids: [127] ) ] ) (C {(test_expect_success)} {(SQ <"cat-file --textconv on last commit">)} { (SQ <"\n"> <"\tgit cat-file --textconv :one.bin >result &&\n"> <"\ttest_cmp expected result\n">) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[147]) (HereDoc op_id: Redir_DLess fd: -1 body: {(DQ ("converted: test\n"))} do_expansion: True here_end: EOF was_filled: True spids: [150] ) ] ) (C {(test_expect_success)} {(SQ <"cat-file --textconv on previous commit">)} { (SQ <"\n"> <"\tgit cat-file --textconv HEAD^:one.bin >result &&\n"> <"\ttest_cmp expected result\n"> ) } ) (C {(test_expect_success)} {(SQ <"cat-file without --textconv (symlink)">)} { (SQ <"\n"> <"\tprintf \"%s\" \"one.bin\" >expected &&\n"> <"\tgit cat-file blob :symlink.bin >result &&\n"> <"\ttest_cmp expected result\n"> ) } ) (C {(test_expect_success)} {(SQ <"cat-file --textconv on index (symlink)">)} { (SQ <"\n"> <"\tgit cat-file --textconv :symlink.bin >result &&\n"> <"\ttest_cmp expected result\n"> ) } ) (C {(test_expect_success)} {(SQ <"cat-file --textconv on HEAD (symlink)">)} { (SQ <"\n"> <"\tgit cat-file --textconv HEAD:symlink.bin >result &&\n"> <"\ttest_cmp expected result\n"> ) } ) (C {(test_done)}) ] )