(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./lib-git-svn.sh]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS import]}) (= scope= flags=0 words=[] bindings=[('a_crlf', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_lf', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_cr', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_ne_crlf', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_ne_lf', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_ne_cr', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_empty', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_empty_lf', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_empty_cr', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('a_empty_crlf', {[SQ ]})]) (Com {[LIT_CHARS cd]} {[LIT_CHARS import]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS kw.c]} >"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "/* Somebody prematurely put a keyword into this file */\n"] [LIT_CHARS "/* $Id$ */\n"]} 0), > ) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS Hello][\ LIT_ESCAPED_CHAR "\\r"][\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS World][\ LIT_ESCAPED_CHAR "\\r"][\ LIT_ESCAPED_CHAR "\\n"]]} < (FilenameRedirectNode filename={[LIT_CHARS crlf]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_crlf', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS crlf]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS Hello][\ LIT_ESCAPED_CHAR "\\r"][LIT_CHARS World][\ LIT_ESCAPED_CHAR "\\r"]]} < (FilenameRedirectNode filename={[LIT_CHARS cr]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_cr', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS cr]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS Hello][\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS World][\ LIT_ESCAPED_CHAR "\\n"]]} < (FilenameRedirectNode filename={[LIT_CHARS lf]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_lf', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS lf]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS Hello][\ LIT_ESCAPED_CHAR "\\r"][\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS World]]} < (FilenameRedirectNode filename={[LIT_CHARS ne_crlf]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_ne_crlf', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS ne_crlf]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS Hello][\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS World]]} < (FilenameRedirectNode filename={[LIT_CHARS ne_lf]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_ne_lf', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS ne_lf]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS Hello][\ LIT_ESCAPED_CHAR "\\r"][LIT_CHARS World]]} < (FilenameRedirectNode filename={[LIT_CHARS ne_cr]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_ne_cr', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS ne_cr]})]})]) (Com {[LIT_CHARS touch]} {[LIT_CHARS empty]}) (= scope= flags=0 words=[] bindings=[('a_empty', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS empty]})]})]) (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]} < (FilenameRedirectNode filename={[LIT_CHARS empty_lf]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_empty_lf', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS empty_lf]})]})]) (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\r"]]} < (FilenameRedirectNode filename={[LIT_CHARS empty_cr]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_empty_cr', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS empty_cr]})]})]) (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\r"][\ LIT_ESCAPED_CHAR "\\n"]]} < (FilenameRedirectNode filename={[LIT_CHARS empty_crlf]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_empty_crlf', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS empty_crlf]})]})]) (Com {[LIT_CHARS svn_cmd]} {[LIT_CHARS import]} {[LIT_CHARS --no-auto-props]} {[LIT_CHARS -m]} {[SQ ]} {[LIT_CHARS .]} {[DQ [VarSub svnrepo]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS cd]} {[LIT_CHARS ..]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS import]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > kw.c &&\n"> > kw.c &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('name', {[SQ ]})]) (Com {[LIT_CHARS test_expect_success]} {[DQ [VarSub name]]} {[SQ > kw.c &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('expect', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('got', {[DQ [ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -ne]} {[LIT_CHARS 2p]} {[LIT_CHARS kw.c]})]]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "test '"][VarSub expect][LIT_CHARS "' = '"][VarSub got][LIT_CHARS "'"]]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "propset CR on crlf files"]]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (For i [{[LIT_CHARS crlf]}, {[LIT_CHARS ne_crlf]}, {[LIT_CHARS lf]}, {[LIT_CHARS ne_lf]}, {[LIT_CHARS cr]}, {[LIT_CHARS ne_cr]}, {[LIT_CHARS empty_cr]}, {[LIT_CHARS empty_lf]}, {[LIT_CHARS empty]}, {[LIT_CHARS empty_crlf]}]) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "Comparing "][VarSub i]]} {[DQ [LIT_CHARS "cmp "][VarSub i][LIT_CHARS " new_wc/"][VarSub i]]}) ) (Com {[LIT_CHARS cd]} {[LIT_CHARS test_wc]}) (Com {[LIT_CHARS printf]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS cr]} "> 1), > ) (Com {[LIT_CHARS printf]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS ne_cr]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('a_cr', {[ComSub (Pipeline (Com {[LIT_CHARS printf]} {[SQ ]}) (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS --stdin]}) )]})]) (= scope= flags=0 words=[] bindings=[('a_ne_cr', {[ComSub (Pipeline (Com {[LIT_CHARS printf]} {[SQ ]}) (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS --stdin]}) )]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cd]} {[LIT_CHARS ..]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('b_cr', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS cr]})]]})]) (= scope= flags=0 words=[] bindings=[('b_ne_cr', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS ne_cr]})]]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "test '"][VarSub a_cr][LIT_CHARS "' = '"][VarSub b_cr][LIT_CHARS "'"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "test '"][VarSub a_ne_cr][LIT_CHARS "' = '"][VarSub b_ne_cr][LIT_CHARS "'"]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS show-ignore.expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "\n"] [LIT_CHARS "# /\n"] [LIT_CHARS "/no-such-file*\n"] [LIT_CHARS "\n"] [LIT_CHARS "# /deeply/\n"] [LIT_CHARS "/deeply/no-such-file*\n"] [LIT_CHARS "\n"] [LIT_CHARS "# /deeply/nested/\n"] [LIT_CHARS "/deeply/nested/no-such-file*\n"] [LIT_CHARS "\n"] [LIT_CHARS "# /deeply/nested/directory/\n"] [LIT_CHARS "/deeply/nested/directory/no-such-file*\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t(\n"][LIT_CHARS "\t\tcd test_wc &&\n"][LIT_CHARS "\t\tmkdir -p deeply/nested/directory &&\n"][LIT_CHARS "\t\ttouch deeply/nested/directory/.keep &&\n"][LIT_CHARS "\t\tsvn_cmd add deeply &&\n"][LIT_CHARS "\t\tsvn_cmd up &&\n"][LIT_CHARS "\t\tsvn_cmd propset -R svn:ignore '\n"][LIT_CHARS "no-such-file*\n"][LIT_CHARS "' .\n"][LIT_CHARS "\t\tsvn_cmd commit -m 'propset svn:ignore'\n"][LIT_CHARS "\t) &&\n"][LIT_CHARS "\tgit svn show-ignore > show-ignore.got &&\n"][LIT_CHARS "\tcmp show-ignore.expect show-ignore.got\n"]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS create-ignore.expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "/no-such-file*\n"]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS create-ignore-index.expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "100644 8c52e5dfcd0a8b6b6bcfe6b41b89bcbf493718a5 0\t.gitignore\n"] [LIT_CHARS "100644 8c52e5dfcd0a8b6b6bcfe6b41b89bcbf493718a5 0\tdeeply/.gitignore\n"] [LIT_CHARS "100644 8c52e5dfcd0a8b6b6bcfe6b41b89bcbf493718a5 0\tdeeply/nested/.gitignore\n"] [LIT_CHARS "100644 8c52e5dfcd0a8b6b6bcfe6b41b89bcbf493718a5 0\tdeeply/nested/directory/.gitignore\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit svn fetch && git pull . remotes/git-svn &&\n"][LIT_CHARS "\tgit svn create-ignore &&\n"][LIT_CHARS "\tcmp ./.gitignore create-ignore.expect &&\n"][LIT_CHARS "\tcmp ./deeply/.gitignore create-ignore.expect &&\n"][LIT_CHARS "\tcmp ./deeply/nested/.gitignore create-ignore.expect &&\n"][LIT_CHARS "\tcmp ./deeply/nested/directory/.gitignore create-ignore.expect &&\n"][LIT_CHARS "\tgit ls-files -s | grep gitignore | cmp - create-ignore-index.expect\n"][LIT_CHARS "\t"]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS prop.expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "\n"] [LIT_CHARS "no-such-file*\n"] [LIT_CHARS "\n"]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS prop2.expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "8\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit svn propget svn:ignore . | cmp - prop.expect &&\n"][LIT_CHARS "\tcd deeply &&\n"][LIT_CHARS "\tgit svn propget svn:ignore . | cmp - ../prop.expect &&\n"][LIT_CHARS "\tgit svn propget svn:entry:committed-rev nested/directory/.keep "][LIT_CHARS "\t | cmp - ../prop2.expect &&\n"][LIT_CHARS "\tgit svn propget svn:ignore .. | cmp - ../prop.expect &&\n"][LIT_CHARS "\tgit svn propget svn:ignore nested/ | cmp - ../prop.expect &&\n"][LIT_CHARS "\tgit svn propget svn:ignore ./nested | cmp - ../prop.expect &&\n"][LIT_CHARS "\tgit svn propget svn:ignore .././deeply/nested | cmp - ../prop.expect\n"][LIT_CHARS "\t"]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS prop.expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "Properties on '.':\n"] [LIT_CHARS " svn:entry:committed-date\n"] [LIT_CHARS " svn:entry:committed-rev\n"] [LIT_CHARS " svn:entry:last-author\n"] [LIT_CHARS " svn:entry:uuid\n"] [LIT_CHARS " svn:ignore\n"]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS prop2.expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "Properties on 'nested/directory/.keep':\n"] [LIT_CHARS " svn:entry:committed-date\n"] [LIT_CHARS " svn:entry:committed-rev\n"] [LIT_CHARS " svn:entry:last-author\n"] [LIT_CHARS " svn:entry:uuid\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit svn proplist . | cmp - prop.expect &&\n"][LIT_CHARS "\tgit svn proplist nested/directory/.keep | cmp - prop2.expect\n"][LIT_CHARS "\t"]]}) (Com {[LIT_CHARS test_done]}) )