Merge branch 'mm/gc-safety-doc'
[git] / t / perf / p3400-rebase.sh
1 #!/bin/sh
2
3 test_description='Tests rebase performance'
4 . ./perf-lib.sh
5
6 test_perf_default_repo
7
8 test_expect_success 'setup' '
9         git checkout -f -b base &&
10         git checkout -b to-rebase &&
11         git checkout -b upstream &&
12         for i in $(seq 100)
13         do
14                 # simulate huge diffs
15                 echo change$i >unrelated-file$i &&
16                 seq 1000 >>unrelated-file$i &&
17                 git add unrelated-file$i &&
18                 test_tick &&
19                 git commit -m commit$i unrelated-file$i &&
20                 echo change$i >unrelated-file$i &&
21                 seq 1000 | tac >>unrelated-file$i &&
22                 git add unrelated-file$i &&
23                 test_tick &&
24                 git commit -m commit$i-reverse unrelated-file$i ||
25                 break
26         done &&
27         git checkout to-rebase &&
28         test_commit our-patch interesting-file
29 '
30
31 test_perf 'rebase on top of a lot of unrelated changes' '
32         git rebase --onto upstream HEAD^ &&
33         git rebase --onto base HEAD^
34 '
35
36 test_done