(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 rebase performance' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./perf-lib.sh)}) (C {(test_perf_default_repo)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:20))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:24) (Token id:Id.Lit_Chars val:'\tgit checkout -f -b base &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\tgit checkout -b to-rebase &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\tgit checkout -b upstream &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\tfor i in $(seq 100)\n' span_id:28) (Token id:Id.Lit_Chars val:'\tdo\n' span_id:29) (Token id:Id.Lit_Chars val:'\t\t# simulate huge diffs\n' span_id:30) (Token id:Id.Lit_Chars val:'\t\techo change$i >unrelated-file$i &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\t\tseq 1000 >>unrelated-file$i &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\t\tgit add unrelated-file$i &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\t\ttest_tick &&\n' span_id:34) (Token id: Id.Lit_Chars val: '\t\tgit commit -m commit$i unrelated-file$i &&\n' span_id: 35 ) (Token id:Id.Lit_Chars val:'\t\techo change$i >unrelated-file$i &&\n' span_id:36) (Token id: Id.Lit_Chars val: '\t\tseq 1000 | tac >>unrelated-file$i &&\n' span_id: 37 ) (Token id:Id.Lit_Chars val:'\t\tgit add unrelated-file$i &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\t\ttest_tick &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\t\tgit commit -m commit$i-reverse unrelated-file$i ||\n' span_id:40) (Token id:Id.Lit_Chars val:'\t\tbreak\n' span_id:41) (Token id:Id.Lit_Chars val:'\tdone &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\tgit checkout to-rebase &&\n' span_id:43) (Token id:Id.Lit_Chars val:'\ttest_commit our-patch interesting-file\n' span_id:44) ) } ) (C {(test_perf)} {(SQ (Token id:Id.Lit_Chars val:'rebase on top of a lot of unrelated changes' span_id:51))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:55) (Token id:Id.Lit_Chars val:'\tgit rebase --onto upstream HEAD^ &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\tgit rebase --onto base HEAD^\n' span_id:57) ) } ) (C {(test_done)}) ] )