(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 commit-diff' span_id:11))} spids: [9] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'initialize repo' span_id:22))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:26) (Token id:Id.Lit_Chars val:'\tmkdir import &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\t(\n' span_id:28) (Token id:Id.Lit_Chars val:'\t\tcd import &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\t\techo hello >readme &&\n' span_id:30) (Token id: Id.Lit_Chars val: '\t\tsvn_cmd import -m "initial" . "$svnrepo"\n' span_id: 31 ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\techo hello > readme &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\tgit update-index --add readme &&\n' span_id:34) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "initial" &&\n' span_id:35) (Token id:Id.Lit_Chars val:'\techo world >> readme &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "another"\n' span_id:37) (Token id:Id.Lit_Chars val:'\t' span_id:38) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:head) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:43) command_list: (command.CommandList children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD) (Id.Lit_Other '^') (0)})] ) ) } spids: [42] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prev) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:56) command_list: (command.CommandList children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD) (Id.Lit_Other '^') (1)})] ) ) } spids: [55] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'test the commit-diff command' span_id:82))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:86) (Token id: Id.Lit_Chars val: '\ttest -n "$prev" && test -n "$head" &&\n' span_id: 87 ) (Token id:Id.Lit_Chars val:'\tgit svn commit-diff -r1 "$prev" "$head" "$svnrepo" &&\n' span_id:88) (Token id:Id.Lit_Chars val:'\tsvn_cmd co "$svnrepo" wc &&\n' span_id:89) (Token id:Id.Lit_Chars val:'\tcmp readme wc/readme\n' span_id:90) (Token id:Id.Lit_Chars val:'\t' span_id:91) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'commit-diff to a sub-directory (with git svn config)' span_id: 98 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:102) (Token id: Id.Lit_Chars val: '\tsvn_cmd import -m "sub-directory" import "$svnrepo"/subdir &&\n' span_id: 103 ) (Token id:Id.Lit_Chars val:'\tgit svn init --minimize-url "$svnrepo"/subdir &&\n' span_id:104) (Token id:Id.Lit_Chars val:'\tgit svn fetch &&\n' span_id:105) (Token id:Id.Lit_Chars val:'\tgit svn commit-diff -r3 "$prev" "$head" &&\n' span_id:106) (Token id: Id.Lit_Chars val: '\tsvn_cmd cat "$svnrepo"/subdir/readme > readme.2 &&\n' span_id: 107 ) (Token id:Id.Lit_Chars val:'\tcmp readme readme.2\n' span_id:108) (Token id:Id.Lit_Chars val:'\t' span_id:109) ) } ) (C {(test_done)}) ] )