(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (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]}) ) ) (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]}) ) ) (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]}) ) ) (= 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 empty &&\n"> /dev/null 2>&1 &&\n"> \"$SERVERDIR/auth.db\"\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS request-anonymous]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN AUTH REQUEST\n"][VarSub SERVERDIR][LIT_CHARS "\n"][LIT_CHARS "anonymous\n"][LIT_CHARS "\n"][LIT_CHARS "END AUTH REQUEST\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS request-git]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN AUTH REQUEST\n"][VarSub SERVERDIR][LIT_CHARS "\n"][LIT_CHARS "git\n"][LIT_CHARS "\n"][LIT_CHARS "END AUTH REQUEST\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS login-anonymous]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN VERIFICATION REQUEST\n"][VarSub SERVERDIR][LIT_CHARS "\n"][LIT_CHARS "anonymous\n"][LIT_CHARS "\n"][LIT_CHARS "END VERIFICATION REQUEST\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS login-git]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN VERIFICATION REQUEST\n"][VarSub SERVERDIR][LIT_CHARS "\n"][LIT_CHARS "git\n"][LIT_CHARS "\n"][LIT_CHARS "END VERIFICATION REQUEST\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS login-git-ok]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN VERIFICATION REQUEST\n"][VarSub SERVERDIR][LIT_CHARS "\n"][LIT_CHARS "cvsuser\n"][LIT_CHARS "Ah 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS request-relative]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN AUTH REQUEST\n"][LIT_CHARS "gitcvs.git\n"][LIT_CHARS "anonymous\n"][LIT_CHARS "\n"][LIT_CHARS "END AUTH REQUEST\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS request-conflict]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN AUTH REQUEST\n"][VarSub SERVERDIR][LIT_CHARS "\n"][LIT_CHARS "anonymous\n"][LIT_CHARS "\n"][LIT_CHARS "END AUTH REQUEST\n"][LIT_CHARS "Root "][VarSub WORKDIR][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1\n">]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS request-base]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "BEGIN AUTH REQUEST\n"][LIT_CHARS "/gitcvs.git\n"][LIT_CHARS "anonymous\n"][LIT_CHARS "\n"][LIT_CHARS "END AUTH REQUEST\n"][LIT_CHARS "Root /gitcvs.git\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1\n">]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS gitcvs.enabled]} {[LIT_CHARS false]} more_env=[('GIT_DIR', {[DQ [VarSub SERVERDIR]]})] ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 || false)">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ log 2>&1 &&\n"> ]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS gitcvs.enabled]} {[LIT_CHARS true]} more_env=[('GIT_DIR', {[DQ [VarSub SERVERDIR]]})] ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[LIT_CHARS cvswork2]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[LIT_CHARS cvswork2]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[LIT_CHARS cvswork2]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[LIT_CHARS cvswork2]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ cvs.log 2>&1 &&\n"> ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub SERVERDIR]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS clone]} {[LIT_CHARS -q]} {[LIT_CHARS --bare]} {[DQ [VarSub WORKDIR][LIT_CHARS /.git]]} {[DQ [VarSub SERVERDIR]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS gitcvs.enabled]} {[LIT_CHARS true]} more_env=[('GIT_DIR', {[DQ [VarSub SERVERDIR]]})] ) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS gitcvs.logfile]} {[DQ [VarSub SERVERDIR][LIT_CHARS /gitcvs.log]]} more_env=[('GIT_DIR', {[DQ [VarSub SERVERDIR]]})] ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ testfile1 &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >testfile1 &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_failure]} {[DQ [LIT_CHARS "cvs update w/o -d doesn't create subdir (TODO)"]]} {[SQ test/empty &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \"$dir/file_in_$(echo $dir|sed -e \"s#/# #g\")\" &&\n"> /dev/null &&\n"> failure\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ testfile1 &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> >merge\n"> >expected\n"> >expected &&\n"> /dev/null &&\n"> merge.tmp &&\n"> >merge &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected.C]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "<<<<<<< merge.mine\n"][LIT_CHARS "Line 0\n"][LIT_CHARS "=======\n"][LIT_CHARS "LINE 0\n"][LIT_CHARS ">>>>>>> merge.1.3\n"]]} 0), > ) (For i [{[LIT_CHARS 1]}, {[LIT_CHARS 2]}, {[LIT_CHARS 3]}, {[LIT_CHARS 4]}, {[LIT_CHARS 5]}, {[LIT_CHARS 6]}, {[LIT_CHARS 7]}, {[LIT_CHARS 8]}]) (Com {[LIT_CHARS echo]} {[LIT_CHARS Line]} {[VarSub i]} < (FilenameRedirectNode filename={[LIT_CHARS expected.C]} >"> 1), > ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ merge.tmp &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >merge &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ no-lf &&\n"> > no-lf &&\n"> /dev/null &&\n"> $i.out\n"> >failures 2>&1\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ out &&\n"> ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ status.dir/status.file &&\n"> status.file &&\n"> /dev/null &&\n"> ../out &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../out &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../out &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ out &&\n"> ]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub WORKDIR][LIT_CHARS /expect]]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "x\n"][LIT_CHARS "xRCS file: "][VarSub WORKDIR][LIT_CHARS "/gitcvs.git/master/merge,v\n"][LIT_CHARS "xWorking file: merge\n"][LIT_CHARS "xhead: 1.4\n"][LIT_CHARS "xbranch:\n"][LIT_CHARS "xlocks: strict\n"][LIT_CHARS "xaccess list:\n"][LIT_CHARS "xsymbolic names:\n"][LIT_CHARS "xkeyword substitution: kv\n"][LIT_CHARS "xtotal revisions: 4;\tselected revisions: 4\n"][LIT_CHARS "xdescription:\n"][LIT_CHARS "x----------------------------\n"][LIT_CHARS "xrevision 1.4\n"][LIT_CHARS "xdate: __DATE__; author: author; state: Exp; lines: +2 -3\n"][LIT_CHARS "x\n"][LIT_CHARS "xMerge test (no-op)\n"][LIT_CHARS "xSP\n"][LIT_CHARS "x----------------------------\n"][LIT_CHARS "xrevision 1.3\n"][LIT_CHARS "xdate: __DATE__; author: author; state: Exp; lines: +2 -3\n"][LIT_CHARS "x\n"][LIT_CHARS "xMerge test (conflict)\n"][LIT_CHARS "xSP\n"][LIT_CHARS "x----------------------------\n"][LIT_CHARS "xrevision 1.2\n"][LIT_CHARS "xdate: __DATE__; author: author; state: Exp; lines: +2 -3\n"][LIT_CHARS "x\n"][LIT_CHARS "xMerge test (merge)\n"][LIT_CHARS "xSP\n"][LIT_CHARS "x----------------------------\n"][LIT_CHARS "xrevision 1.1\n"][LIT_CHARS "xdate: __DATE__; author: author; state: Exp; lines: +2 -3\n"][LIT_CHARS "x\n"][LIT_CHARS "xMerge test (pre-merge)\n"][LIT_CHARS "xSP\n"][LIT_CHARS "x=============================================================================\n"]]} 0), > ) (= scope= flags=0 words=[] bindings=[('expectStat', {[DQ [VarSub ?]]})]) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../out &&\n"> ../actual &&\n"> ]}) (Com {[LIT_CHARS cd]} {[DQ [VarSub WORKDIR]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../out &&\n"> ../actual &&\n"> ../expect &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )