(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef marked_as [] (List (= scope= flags=0 words=[] bindings=[('foundEntry', {[DQ [ComSub (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "^/"][VarSub 2][LIT_CHARS /]]} {[DQ [VarSub 1][LIT_CHARS /CVS/Entries]]})]]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub foundEntry]]} {[LIT_OTHER "="]} {[LIT_CHARS x] [DQ ]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "NOT FOUND: "][VarSub 1][LIT_CHARS " "][VarSub 2][LIT_CHARS " 1 "][VarSub 3]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS test]} {[LIT_CHARS x] [DQ [ComSub (Pipeline (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "^/"][VarSub 2][LIT_CHARS /]]} {[DQ [VarSub 1][LIT_CHARS /CVS/Entries]]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d/]} {[LIT_CHARS -f5]}) )]]} {[LIT_OTHER "="]} {[LIT_CHARS x] [DQ [VarSub 3]]}) (= scope= flags=0 words=[] bindings=[('stat', {[VarSub ?]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub 1][LIT_CHARS " "][VarSub 2][LIT_CHARS " "][VarSub stat][LIT_CHARS " '"][VarSub 3][LIT_CHARS "'"]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS return]} {[VarSub stat]}) ) ) (FunctionDef not_present [] (List (= scope= flags=0 words=[] bindings=[('foundEntry', {[DQ [ComSub (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "^/"][VarSub 2][LIT_CHARS /]]} {[DQ [VarSub 1][LIT_CHARS /CVS/Entries]]})]]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -r]} {[DQ [VarSub 1][LIT_CHARS /][VarSub 2]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Error: File still exists: "][VarSub 1][LIT_CHARS " "][VarSub 2]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub foundEntry]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x] [DQ ]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Error: should not have found: "][VarSub 1][LIT_CHARS " "][VarSub 2]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Correctly not found: "][VarSub 1][LIT_CHARS " "][VarSub 2]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) ) ) (FunctionDef check_status_options [] (List (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS cvs]} {[LIT_CHARS -Q]} {[LIT_CHARS status]} {[DQ [VarSub 2]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /status.out]]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > more_env=[('GIT_CONFIG', {[DQ [VarSub git_config]]})] ) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub ?]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x] [DQ [LIT_CHARS 0]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Error from cvs status: "][VarSub 1][LIT_CHARS " "][VarSub 2]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('got', {[DQ [ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[DQ [VarSub WORKDIR][LIT_CHARS /status.out]]})]]})]) (= scope= flags=0 words=[] bindings=[('expect', {[DQ [VarSub 3]]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub expect]]} {[LIT_OTHER "="]} {[LIT_CHARS x] [DQ ]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('expect', {[DQ [LIT_CHARS "(none)"]]})]) ) (Com {[LIT_CHARS test]} {[LIT_CHARS x] [DQ [VarSub got]]} {[LIT_OTHER "="]} {[LIT_CHARS x] [DQ [VarSub expect]]}) (= scope= flags=0 words=[] bindings=[('stat', {[VarSub ?]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "cvs status: "][VarSub 1][LIT_CHARS " "][VarSub 2][LIT_CHARS " "][VarSub stat][LIT_CHARS " '"][VarSub 3][LIT_CHARS "' '"][VarSub got][LIT_CHARS "'"]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS return]} {[VarSub stat]}) ) ) (Com {[LIT_CHARS cvs]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (If (Com {[LIT_CHARS test]} {[VarSub ?]} {[LIT_CHARS -ne]} {[LIT_CHARS 1]}) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[SQ ]})]) (Com {[LIT_CHARS test_done]}) ) ) (If (Pipeline! (Com {[LIT_CHARS test_have_prereq]} {[LIT_CHARS PERL]}) ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[SQ ]})]) (Com {[LIT_CHARS test_done]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS perl]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[SQ ]})]) (Com {[LIT_CHARS test_done]}) ) ) (Com {[LIT_CHARS unset]} {[LIT_CHARS GIT_DIR]} {[LIT_CHARS GIT_CONFIG]}) (= scope= flags=0 words=[] bindings=[('WORKDIR', {[VarSub PWD]})]) (= scope= flags=0 words=[] bindings=[('SERVERDIR', {[VarSub PWD] [LIT_CHARS /gitcvs.git]})]) (= scope= flags=0 words=[] bindings=[('git_config', {[DQ [VarSub SERVERDIR][LIT_CHARS /config]]})]) (= scope= flags=0 words=[] bindings=[('CVSROOT', {[DQ [LIT_CHARS ":fork:"][VarSub SERVERDIR]]})]) (= scope= flags=0 words=[] bindings=[('CVSWORK', {[DQ [VarSub PWD][LIT_CHARS /cvswork]]})]) (= scope= flags=0 words=[] bindings=[('CVS_SERVER', {[LIT_CHARS git-cvsserver]})]) (= scope= flags=1 words=[{[LIT_CHARS CVSROOT]}, {[LIT_CHARS CVS_SERVER]}] bindings=[]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub CVSWORK]]} {[DQ [VarSub SERVERDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ textfile.c &&\n"> binfile.bin &&\n"> subdir/file.h &&\n"> subdir/withCr.bin &&\n"> mixedUp.c &&\n"> subdir/unspecified.other &&\n"> .gitattributes &&\n"> > .gitattributes &&\n"> > .gitattributes &&\n"> > .gitattributes &&\n"> > .gitattributes &&\n"> /dev/null 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ] [LIT_CHARS /-k] [SQ ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS cvswork]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS cvswork]} {[LIT_CHARS cvs.log]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS cvswork]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ src.c &&\n"> cvs.log 2>&1 &&\n"> temp.bin\n"> cvs.log 2>&1 &&\n"> cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ] [LIT_CHARS hi] [SQ subdir/newfile.bin &&\n"> ] [LIT_CHARS junk] [SQ subdir/file.h &&\n"> ] [LIT_CHARS hi] [SQ subdir/newfile.c &&\n"> ] [LIT_CHARS hello] [SQ > binfile.bin &&\n"> /dev/null &&\n"> tmpExpect1 &&\n"> > tmpExpect1 &&\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS cvswork]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ multiline.c &&\n"> multilineTxt.c &&\n"> /dev/null\n">]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS cvswork]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ simpleText.c &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ simpleBin.bin &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "starting update/merge"]]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /marked.log]]} >"> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ml.temp &&\n"> > \"${WORKDIR}/marked.log\" &&\n"> /dev/null &&\n"> ml.temp &&\n"> cvs.log 2>&1\n"> tmpExpect2 &&\n"> > tmpExpect2 &&\n"> > tmpExpect2 &&\n"> > tmpExpect2 &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )