(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'tests remote-svn'>)} 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: (condition.Shell commands: [(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 <'skipping remote-svn tests, python not available'>)} 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 op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 72 stdin_parts: [ <'exec "$PYTHON_PATH" "$GIT_BUILD_DIR/contrib/svn-fe/svnrdump_sim.py" "$@"\n'> ] ) ) ] do_fork: T ) (command.ShFunction name: init_git body: (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_Colon ':'> <Id.Lit_Colon ':'> <sim> <Id.Lit_Colon ':'> <'//'> ($ Id.VSub_DollarName '$TEST_DIRECTORY') <'/t9154/svn.dump'> } ) ] ) (C {<git>} {<remote>} {<add>} {<svnfile>} {<testsvn> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <file> <Id.Lit_Colon ':'> <'//'> ($ Id.VSub_DollarName '$TEST_DIRECTORY') <'/t9154/svn.dump'> } ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (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 <'\n'> <'\tgit --version\n'> <'\ttype git\n'> <'\ttype svnrdump\n'>)}) (C {<test_expect_success>} {<REMOTE_SVN>} {(SQ <'simple fetch'>)} { (SQ <'\n'> <'\tinit_git &&\n'> <'\tgit fetch svnsim &&\n'> <'\ttest_cmp .git/refs/svn/svnsim/master .git/refs/remotes/svnsim/master &&\n'> <'\tcp .git/refs/remotes/svnsim/master master.good\n'> ) } ) (C {<test_debug>} { (SQ <'\n'> <'\tcat .git/refs/svn/svnsim/master\n'> <'\tcat .git/refs/remotes/svnsim/master\n'>) } ) (C {<test_expect_success>} {<REMOTE_SVN>} {(SQ <'repeated fetch, nothing shall change'>)} { (SQ <'\n'> <'\tgit fetch svnsim &&\n'> <'\ttest_cmp master.good .git/refs/remotes/svnsim/master\n'> ) } ) (C {<test_expect_success>} {<REMOTE_SVN>} {(SQ <'fetch from a file:// url gives the same result'>)} {(SQ <'\n'> <'\tgit fetch svnfile\n'>)} ) (C {<test_expect_failure>} {<REMOTE_SVN>} {(SQ <'the sha1 differ because the git-svn-id line in the commit msg contains the url'>)} {(SQ <'\n'> <'\ttest_cmp .git/refs/remotes/svnfile/master .git/refs/remotes/svnsim/master\n'>)} ) (C {<test_expect_success>} {<REMOTE_SVN>} {(SQ <'mark-file regeneration'>)} { (SQ <'\n'> < '\t# filter out any other marks, that can not be regenerated. Only up to 3 digit revisions are allowed here\n' > <'\tgrep ":[0-9]\\{1,3\\} " $MARKSPATH/svnsim.marks > $MARKSPATH/svnsim.marks.old &&\n'> <'\trm $MARKSPATH/svnsim.marks &&\n'> <'\tgit fetch svnsim &&\n'> <'\ttest_cmp $MARKSPATH/svnsim.marks.old $MARKSPATH/svnsim.marks\n'> ) } ) (C {<test_expect_success>} {<REMOTE_SVN>} {(SQ <'incremental imports must lead to the same head'>)} { (SQ <'\n'> <'\tSVNRMAX=3 &&\n'> <'\texport SVNRMAX &&\n'> <'\tinit_git &&\n'> <'\tgit fetch svnsim &&\n'> <'\ttest_cmp .git/refs/svn/svnsim/master .git/refs/remotes/svnsim/master &&\n'> <'\tunset SVNRMAX &&\n'> <'\tgit fetch svnsim &&\n'> <'\ttest_cmp master.good .git/refs/remotes/svnsim/master\n'> ) } ) (C {<test_debug>} {(SQ <'git branch -a'>)}) (C {<test_done>}) ] )