t / t7602-merge-octopus-many.shon commit Teach 'git merge' and 'git pull' the option --ff-only (1347483)
   1#!/bin/sh
   2
   3test_description='git merge
   4
   5Testing octopus merge with more than 25 refs.'
   6
   7. ./test-lib.sh
   8
   9test_expect_success 'setup' '
  10        echo c0 > c0.c &&
  11        git add c0.c &&
  12        git commit -m c0 &&
  13        git tag c0 &&
  14        i=1 &&
  15        while test $i -le 30
  16        do
  17                git reset --hard c0 &&
  18                echo c$i > c$i.c &&
  19                git add c$i.c &&
  20                git commit -m c$i &&
  21                git tag c$i &&
  22                i=`expr $i + 1` || return 1
  23        done
  24'
  25
  26test_expect_success 'merge c1 with c2, c3, c4, ... c29' '
  27        git reset --hard c1 &&
  28        i=2 &&
  29        refs="" &&
  30        while test $i -le 30
  31        do
  32                refs="$refs c$i"
  33                i=`expr $i + 1`
  34        done
  35        git merge $refs &&
  36        test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
  37        i=1 &&
  38        while test $i -le 30
  39        do
  40                test "$(git rev-parse c$i)" = "$(git rev-parse HEAD^$i)" &&
  41                i=`expr $i + 1` || return 1
  42        done &&
  43        git diff --exit-code &&
  44        i=1 &&
  45        while test $i -le 30
  46        do
  47                test -f c$i.c &&
  48                i=`expr $i + 1` || return 1
  49        done
  50'
  51
  52test_done