(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'tests remote-svn' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MARKSPATH) op: assign_op.Equal rhs: {(.git/info/fast-import/remote-svn)} spids: [15] ) ] ) (command.If arms: [ (if_arm cond: [(command.Pipeline children:[(C {(test_have_prereq)} {(PYTHON)})] negated:T)] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_all) op: assign_op.Equal rhs: { (SQ (Token id: Id.Lit_Chars val: 'skipping remote-svn tests, python not available' span_id: 32 ) ) } spids: [30] ) ] ) (C {(test_done)}) ] spids: [19 27] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$HOME') (':') ($ Id.VSub_DollarName '$PATH'))} spids: [44] ) ] ) (C {(export)} {(PATH)} {(PYTHON_PATH)} {(GIT_BUILD_DIR)}) (command.Simple words: [{(write_script)} {(DQ ($ Id.VSub_DollarName '$HOME') (/svnrdump))}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:67) fd: -1 here_begin: {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\E' span_id:68)) (OF)} here_end_span_id: 72 stdin_parts: [ ('exec "$PYTHON_PATH" "$GIT_BUILD_DIR/contrib/svn-fe/svnrdump_sim.py" "$@"\n') ] ) ] ) (command.ShFunction name: init_git body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {(rm)} {(-fr)} {(.git)}) (C {(git)} {(init)}) (C {(git)} {(remote)} {(add)} {(svnsim)} {(testsvn) (Id.Lit_Other ':') (Id.Lit_Other ':') (sim) (Id.Lit_Other ':') (//) ($ Id.VSub_DollarName '$TEST_DIRECTORY') (/t9154/svn.dump) } ) ] ) (C {(git)} {(remote)} {(add)} {(svnfile)} {(testsvn) (Id.Lit_Other ':') (Id.Lit_Other ':') (file) (Id.Lit_Other ':') (//) ($ Id.VSub_DollarName '$TEST_DIRECTORY') (/t9154/svn.dump) } ) ] ) ) (command.If arms: [ (if_arm cond: [ (C {(test)} {(-e)} {(DQ ($ Id.VSub_DollarName '$GIT_BUILD_DIR') (/git-remote-testsvn))}) ] action: [(C {(test_set_prereq)} {(REMOTE_SVN)})] spids: [144 155] ) ] ) (C {(test_debug)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:168) (Token id:Id.Lit_Chars val:'\tgit --version\n' span_id:169) (Token id:Id.Lit_Chars val:'\ttype git\n' span_id:170) (Token id:Id.Lit_Chars val:'\ttype svnrdump\n' span_id:171) ) } ) (C {(test_expect_success)} {(REMOTE_SVN)} {(SQ (Token id:Id.Lit_Chars val:'simple fetch' span_id:180))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:184) (Token id:Id.Lit_Chars val:'\tinit_git &&\n' span_id:185) (Token id:Id.Lit_Chars val:'\tgit fetch svnsim &&\n' span_id:186) (Token id: Id.Lit_Chars val: '\ttest_cmp .git/refs/svn/svnsim/master .git/refs/remotes/svnsim/master &&\n' span_id: 187 ) (Token id:Id.Lit_Chars val:'\tcp .git/refs/remotes/svnsim/master master.good\n' span_id:188) ) } ) (C {(test_debug)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:195) (Token id:Id.Lit_Chars val:'\tcat .git/refs/svn/svnsim/master\n' span_id:196) (Token id:Id.Lit_Chars val:'\tcat .git/refs/remotes/svnsim/master\n' span_id:197) ) } ) (C {(test_expect_success)} {(REMOTE_SVN)} {(SQ (Token id:Id.Lit_Chars val:'repeated fetch, nothing shall change' span_id:206))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:210) (Token id:Id.Lit_Chars val:'\tgit fetch svnsim &&\n' span_id:211) (Token id:Id.Lit_Chars val:'\ttest_cmp master.good .git/refs/remotes/svnsim/master\n' span_id:212) ) } ) (C {(test_expect_success)} {(REMOTE_SVN)} {(SQ (Token id:Id.Lit_Chars val:'fetch from a file:// url gives the same result' span_id:221))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:225) (Token id:Id.Lit_Chars val:'\tgit fetch svnfile\n' span_id:226) ) } ) (C {(test_expect_failure)} {(REMOTE_SVN)} { (SQ (Token id: Id.Lit_Chars val: 'the sha1 differ because the git-svn-id line in the commit msg contains the url' span_id: 235 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:239) (Token id: Id.Lit_Chars val: '\ttest_cmp .git/refs/remotes/svnfile/master .git/refs/remotes/svnsim/master\n' span_id: 240 ) ) } ) (C {(test_expect_success)} {(REMOTE_SVN)} {(SQ (Token id:Id.Lit_Chars val:'mark-file regeneration' span_id:249))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:253) (Token id: Id.Lit_Chars val: '\t# filter out any other marks, that can not be regenerated. Only up to 3 digit revisions are allowed here\n' span_id: 254 ) (Token id: Id.Lit_Chars val: '\tgrep ":[0-9]\\{1,3\\} " $MARKSPATH/svnsim.marks > $MARKSPATH/svnsim.marks.old &&\n' span_id: 255 ) (Token id:Id.Lit_Chars val:'\trm $MARKSPATH/svnsim.marks &&\n' span_id:256) (Token id:Id.Lit_Chars val:'\tgit fetch svnsim &&\n' span_id:257) (Token id: Id.Lit_Chars val: '\ttest_cmp $MARKSPATH/svnsim.marks.old $MARKSPATH/svnsim.marks\n' span_id: 258 ) ) } ) (C {(test_expect_success)} {(REMOTE_SVN)} {(SQ (Token id:Id.Lit_Chars val:'incremental imports must lead to the same head' span_id:267))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:271) (Token id:Id.Lit_Chars val:'\tSVNRMAX=3 &&\n' span_id:272) (Token id:Id.Lit_Chars val:'\texport SVNRMAX &&\n' span_id:273) (Token id:Id.Lit_Chars val:'\tinit_git &&\n' span_id:274) (Token id:Id.Lit_Chars val:'\tgit fetch svnsim &&\n' span_id:275) (Token id: Id.Lit_Chars val: '\ttest_cmp .git/refs/svn/svnsim/master .git/refs/remotes/svnsim/master &&\n' span_id: 276 ) (Token id:Id.Lit_Chars val:'\tunset SVNRMAX &&\n' span_id:277) (Token id:Id.Lit_Chars val:'\tgit fetch svnsim &&\n' span_id:278) (Token id:Id.Lit_Chars val:'\ttest_cmp master.good .git/refs/remotes/svnsim/master\n' span_id:279) ) } ) (C {(test_debug)} {(SQ (Token id:Id.Lit_Chars val:'git branch -a' span_id:286))}) (C {(test_done)}) ] )