(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:'git svn init/clone tests' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(Id.KW_Set set)} {(-e)}) (C {(rm)} {(-r)} {(.git)}) (C {(mkdir)} {(tmp)}) (C {(cd)} {(tmp)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup svnrepo' span_id:49))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:53) (Token id: Id.Lit_Chars val: '\tmkdir project project/trunk project/branches project/tags &&\n' span_id: 54 ) (Token id:Id.Lit_Chars val:'\techo foo > project/trunk/foo &&\n' span_id:55) (Token id: Id.Lit_Chars val: '\tsvn_cmd import -m "$test_description" project "$svnrepo"/project &&\n' span_id: 56 ) (Token id:Id.Lit_Chars val:'\trm -rf project\n' span_id:57) (Token id:Id.Lit_Chars val:'\t' span_id:58) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'basic clone' span_id:65))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) (Token id:Id.Lit_Chars val:'\ttest ! -d trunk &&\n' span_id:70) (Token id:Id.Lit_Chars val:'\tgit svn clone "$svnrepo"/project/trunk &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\ttest -d trunk/.git/svn &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\ttest -e trunk/foo &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\trm -rf trunk\n' span_id:74) (Token id:Id.Lit_Chars val:'\t' span_id:75) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone to target directory' span_id:82))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:86) (Token id:Id.Lit_Chars val:'\ttest ! -d target &&\n' span_id:87) (Token id:Id.Lit_Chars val:'\tgit svn clone "$svnrepo"/project/trunk target &&\n' span_id:88) (Token id:Id.Lit_Chars val:'\ttest -d target/.git/svn &&\n' span_id:89) (Token id:Id.Lit_Chars val:'\ttest -e target/foo &&\n' span_id:90) (Token id:Id.Lit_Chars val:'\trm -rf target\n' span_id:91) (Token id:Id.Lit_Chars val:'\t' span_id:92) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone with --stdlayout' span_id:99))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:103) (Token id:Id.Lit_Chars val:'\ttest ! -d project &&\n' span_id:104) (Token id:Id.Lit_Chars val:'\tgit svn clone -s "$svnrepo"/project &&\n' span_id:105) (Token id:Id.Lit_Chars val:'\ttest -d project/.git/svn &&\n' span_id:106) (Token id:Id.Lit_Chars val:'\ttest -e project/foo &&\n' span_id:107) (Token id:Id.Lit_Chars val:'\trm -rf project\n' span_id:108) (Token id:Id.Lit_Chars val:'\t' span_id:109) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone to target directory with --stdlayout' span_id:116))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:120) (Token id:Id.Lit_Chars val:'\ttest ! -d target &&\n' span_id:121) (Token id:Id.Lit_Chars val:'\tgit svn clone -s "$svnrepo"/project target &&\n' span_id:122) (Token id:Id.Lit_Chars val:'\ttest -d target/.git/svn &&\n' span_id:123) (Token id:Id.Lit_Chars val:'\ttest -e target/foo &&\n' span_id:124) (Token id:Id.Lit_Chars val:'\trm -rf target\n' span_id:125) (Token id:Id.Lit_Chars val:'\t' span_id:126) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'init without -s/-T/-b/-t does not warn' span_id:133))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:137) (Token id:Id.Lit_Chars val:'\ttest ! -d trunk &&\n' span_id:138) (Token id: Id.Lit_Chars val: '\tgit svn init "$svnrepo"/project/trunk trunk 2>warning &&\n' span_id: 139 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail grep -q prefix warning &&\n' span_id:140) (Token id:Id.Lit_Chars val:'\trm -rf trunk &&\n' span_id:141) (Token id:Id.Lit_Chars val:'\trm -f warning\n' span_id:142) (Token id:Id.Lit_Chars val:'\t' span_id:143) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone without -s/-T/-b/-t does not warn' span_id:150))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:154) (Token id:Id.Lit_Chars val:'\ttest ! -d trunk &&\n' span_id:155) (Token id:Id.Lit_Chars val:'\tgit svn clone "$svnrepo"/project/trunk 2>warning &&\n' span_id:156) (Token id: Id.Lit_Chars val: '\ttest_must_fail grep -q prefix warning &&\n' span_id: 157 ) (Token id:Id.Lit_Chars val:'\trm -rf trunk &&\n' span_id:158) (Token id:Id.Lit_Chars val:'\trm -f warning\n' span_id:159) (Token id:Id.Lit_Chars val:'\t' span_id:160) ) } ) (command.ShFunction name: test_svn_configured_prefix body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prefix) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [172] ) ] ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:180) fd: -1 arg_word: {(expect)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:183) fd: -1 here_begin: {(EOF)} here_end_span_id: 204 stdin_parts: [ ('project/trunk:refs/remotes/') (${ Id.VSub_Name prefix) ('trunk\n') ('project/branches/*:refs/remotes/') (${ Id.VSub_Name prefix) ('*\n') ('project/tags/*:refs/remotes/') (${ Id.VSub_Name prefix) ('tags/*\n') ] ) ] ) (C {(test)} {(Id.KW_Bang '!')} {(-f)} {(actual)}) (command.Simple words: [ {(git)} {(--git-dir) (Id.Lit_Equals '=') (project/.git)} {(config)} {(svn-remote.svn.fetch)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:227) fd: -1 arg_word: {(actual)} ) ] ) (command.Simple words: [ {(git)} {(--git-dir) (Id.Lit_Equals '=') (project/.git)} {(config)} {(svn-remote.svn.branches)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:243) fd: -1 arg_word: {(actual)} ) ] ) (command.Simple words: [ {(git)} {(--git-dir) (Id.Lit_Equals '=') (project/.git)} {(config)} {(svn-remote.svn.tags)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:259) fd: -1 arg_word: {(actual)} ) ] ) (C {(test_cmp)} {(expect)} {(actual)}) (C {(rm)} {(-f)} {(expect)} {(actual)}) ] ) ] ) ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'init with -s/-T/-b/-t assumes --prefix=origin/' span_id:288))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:292) (Token id:Id.Lit_Chars val:'\ttest ! -d project &&\n' span_id:293) (Token id:Id.Lit_Chars val:'\tgit svn init -s "$svnrepo"/project project 2>warning &&\n' span_id:294) (Token id: Id.Lit_Chars val: '\ttest_must_fail grep -q prefix warning &&\n' span_id: 295 ) (Token id:Id.Lit_Chars val:'\ttest_svn_configured_prefix "origin/" &&\n' span_id:296) (Token id:Id.Lit_Chars val:'\trm -rf project &&\n' span_id:297) (Token id:Id.Lit_Chars val:'\trm -f warning\n' span_id:298) (Token id:Id.Lit_Chars val:'\t' span_id:299) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone with -s/-T/-b/-t assumes --prefix=origin/' span_id:306))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:310) (Token id:Id.Lit_Chars val:'\ttest ! -d project &&\n' span_id:311) (Token id:Id.Lit_Chars val:'\tgit svn clone -s "$svnrepo"/project 2>warning &&\n' span_id:312) (Token id: Id.Lit_Chars val: '\ttest_must_fail grep -q prefix warning &&\n' span_id: 313 ) (Token id:Id.Lit_Chars val:'\ttest_svn_configured_prefix "origin/" &&\n' span_id:314) (Token id:Id.Lit_Chars val:'\trm -rf project &&\n' span_id:315) (Token id:Id.Lit_Chars val:'\trm -f warning\n' span_id:316) (Token id:Id.Lit_Chars val:'\t' span_id:317) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'init with -s/-T/-b/-t and --prefix "" still works' span_id: 324 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:328) (Token id:Id.Lit_Chars val:'\ttest ! -d project &&\n' span_id:329) (Token id: Id.Lit_Chars val: '\tgit svn init -s "$svnrepo"/project project --prefix "" 2>warning &&\n' span_id: 330 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail grep -q prefix warning &&\n' span_id:331) (Token id:Id.Lit_Chars val:'\ttest_svn_configured_prefix "" &&\n' span_id:332) (Token id:Id.Lit_Chars val:'\trm -rf project &&\n' span_id:333) (Token id:Id.Lit_Chars val:'\trm -f warning\n' span_id:334) (Token id:Id.Lit_Chars val:'\t' span_id:335) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'clone with -s/-T/-b/-t and --prefix "" still works' span_id: 342 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:346) (Token id:Id.Lit_Chars val:'\ttest ! -d project &&\n' span_id:347) (Token id: Id.Lit_Chars val: '\tgit svn clone -s "$svnrepo"/project --prefix "" 2>warning &&\n' span_id: 348 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail grep -q prefix warning &&\n' span_id:349) (Token id:Id.Lit_Chars val:'\ttest_svn_configured_prefix "" &&\n' span_id:350) (Token id:Id.Lit_Chars val:'\trm -rf project &&\n' span_id:351) (Token id:Id.Lit_Chars val:'\trm -f warning\n' span_id:352) (Token id:Id.Lit_Chars val:'\t' span_id:353) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'init with -T as a full url works' span_id:360))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:364) (Token id:Id.Lit_Chars val:'\ttest ! -d project &&\n' span_id:365) (Token id:Id.Lit_Chars val:'\tgit svn init -T "$svnrepo"/project/trunk project &&\n' span_id:366) (Token id:Id.Lit_Chars val:'\trm -rf project\n' span_id:367) (Token id:Id.Lit_Chars val:'\t' span_id:368) ) } ) (C {(test_done)}) ] )