(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 honors i18n.commitEncoding in config' span_id: 12 ) ) } spids: [10] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (command.ShFunction name: compare_git_head_with body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nr) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:30) command_list: (command.CommandList children: [ (command.Simple words: [{(wc)} {(-l)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:35) fd: -1 arg_word: {(DQ ($ Id.VSub_Number '$1'))} ) ] ) ] ) ) } spids: [29] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:a) op: assign_op.Equal rhs: {(7)} spids: [43] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:b) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$a')}) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$nr')}) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) } spids: [47] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Pipeline children: [ (C {(git)} {(cat-file)} {(commit)} {(HEAD)}) (command.Simple words: [ {(sed)} {(-ne)} {(DQ ($ Id.VSub_DollarName '$a') (',') (${ Id.VSub_Name b) (p))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:85) fd: -1 arg_word: {(current)} ) ] ) ] negated: F ) (C {(test_cmp)} {(current)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (C {(prepare_a_utf8_locale)}) (command.ShFunction name: compare_svn_head_with body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Pipeline children: [ (command.Simple words: [ {(svn)} {(log)} { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:130) command_list: (command.CommandList children: [(C {(git)} {(svn)} {(info)} {(--url)})] ) ) } ] more_env: [ (env_pair name: LC_ALL val: {(DQ ($ Id.VSub_DollarName '$a_utf8_locale'))} spids: [121] ) ] ) (command.Simple words: [ {(perl)} {(-w)} {(-e)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:149) (Token id: Id.Lit_Chars val: '\t\tuse bytes;\n' span_id: 150 ) (Token id:Id.Lit_Chars val:'\t\t$/ = ("-"x72) . "\\n";\n' span_id:151) (Token id: Id.Lit_Chars val: '\t\tmy @x = <STDIN>;\n' span_id: 152 ) (Token id:Id.Lit_Chars val:'\t\t@x = split(/\\n/, $x[1]);\n' span_id:153) (Token id: Id.Lit_Chars val: '\t\tsplice(@x, 0, 2);\n' span_id: 154 ) (Token id:Id.Lit_Chars val:'\t\t$x[-1] = "";\n' span_id:155) (Token id: Id.Lit_Chars val: '\t\tprint join("\\n", @x);\n' span_id: 156 ) (Token id:Id.Lit_Chars val:'\t' span_id:157) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:160) fd: -1 arg_word: {(current)} ) ] ) ] negated: F ) (C {(test_cmp)} {(current)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (command.ForEach iter_name: H iter_words: [{(ISO8859-1)} {(eucJP)} {(ISO-2022-JP)}] do_arg_iter: F body: (command.DoGroup children: [ (C {(test_expect_success)} {(DQ ($ Id.VSub_DollarName '$H') (' setup'))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:201) (Token id:Id.Lit_Chars val:'\t\tmkdir $H &&\n' span_id:202) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd import -m "$H test" $H "$svnrepo"/$H &&\n' span_id:203) (Token id: Id.Lit_Chars val: '\t\tgit svn clone "$svnrepo"/$H $H\n' span_id: 204 ) (Token id:Id.Lit_Chars val:'\t' span_id:205) ) } ) ] ) ) (command.ForEach iter_name: H iter_words: [{(ISO8859-1)} {(eucJP)} {(ISO-2022-JP)}] do_arg_iter: F body: (command.DoGroup children: [ (C {(test_expect_success)} {(DQ ($ Id.VSub_DollarName '$H') (' commit on git side'))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:234) (Token id:Id.Lit_Chars val:'\t(\n' span_id:235) (Token id:Id.Lit_Chars val:'\t\tcd $H &&\n' span_id:236) (Token id: Id.Lit_Chars val: '\t\tgit config i18n.commitencoding $H &&\n' span_id: 237 ) (Token id:Id.Lit_Chars val:'\t\tgit checkout -b t refs/remotes/git-svn &&\n' span_id:238) (Token id:Id.Lit_Chars val:'\t\techo $H >F &&\n' span_id:239) (Token id:Id.Lit_Chars val:'\t\tgit add F &&\n' span_id:240) (Token id: Id.Lit_Chars val: '\t\tgit commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&\n' span_id: 241 ) (Token id: Id.Lit_Chars val: '\t\tE=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&\n' span_id: 242 ) (Token id:Id.Lit_Chars val:'\t\ttest "z$E" = "z$H"\n' span_id:243) (Token id: Id.Lit_Chars val: '\t\tcompare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt\n' span_id: 244 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:245) (Token id:Id.Lit_Chars val:'\t' span_id:246) ) } ) ] ) ) (command.ForEach iter_name: H iter_words: [{(ISO8859-1)} {(eucJP)} {(ISO-2022-JP)}] do_arg_iter: F body: (command.DoGroup children: [ (C {(test_expect_success)} {(DQ ($ Id.VSub_DollarName '$H') (' dcommit to svn'))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:275) (Token id:Id.Lit_Chars val:'\t(\n' span_id:276) (Token id:Id.Lit_Chars val:'\t\tcd $H &&\n' span_id:277) (Token id: Id.Lit_Chars val: '\t\tgit svn dcommit &&\n' span_id: 278 ) (Token id:Id.Lit_Chars val:'\t\tgit cat-file commit HEAD | grep git-svn-id: &&\n' span_id:279) (Token id: Id.Lit_Chars val: '\t\tE=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&\n' span_id: 280 ) (Token id:Id.Lit_Chars val:'\t\ttest "z$E" = "z$H" &&\n' span_id:281) (Token id: Id.Lit_Chars val: '\t\tcompare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt\n' span_id: 282 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:283) (Token id:Id.Lit_Chars val:'\t' span_id:284) ) } ) ] ) ) (C {(test_expect_success)} {(UTF8)} {(SQ (Token id:Id.Lit_Chars val:'ISO-8859-1 should match UTF-8 in svn' span_id:295))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:299) (Token id:Id.Lit_Chars val:'\t(\n' span_id:300) (Token id:Id.Lit_Chars val:'\t\tcd ISO8859-1 &&\n' span_id:301) (Token id: Id.Lit_Chars val: '\t\tcompare_svn_head_with "$TEST_DIRECTORY"/t3900/1-UTF-8.txt\n' span_id: 302 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:303) ) } ) (command.ForEach iter_name: H iter_words: [{(eucJP)} {(ISO-2022-JP)}] do_arg_iter: F body: (command.DoGroup children: [ (C {(test_expect_success)} {(UTF8)} {(DQ ($ Id.VSub_DollarName '$H') (' should match UTF-8 in svn'))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:330) (Token id:Id.Lit_Chars val:'\t\t(\n' span_id:331) (Token id:Id.Lit_Chars val:'\t\t\tcd $H &&\n' span_id:332) (Token id: Id.Lit_Chars val: '\t\t\tcompare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt\n' span_id: 333 ) (Token id:Id.Lit_Chars val:'\t\t)\n' span_id:334) (Token id:Id.Lit_Chars val:'\t' span_id:335) ) } ) ] ) ) (C {(test_done)}) ] )