t / perf / p3400-rebase.shon commit Merge branch 'jk/cherry-pick-0-mainline' (9c96637)
   1#!/bin/sh
   2
   3test_description='Tests rebase performance'
   4. ./perf-lib.sh
   5
   6test_perf_default_repo
   7
   8test_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
  31test_perf 'rebase on top of a lot of unrelated changes' '
  32        git rebase --onto upstream HEAD^ &&
  33        git rebase --onto base HEAD^
  34'
  35
  36test_done