t / t6036-recursive-corner-cases.shon commit Merge branch 'tc/maint-transport-ls-remote-with-void' (cab1b01)
   1#!/bin/sh
   2
   3test_description='recursive merge corner cases'
   4
   5. ./test-lib.sh
   6
   7#
   8#  L1  L2
   9#   o---o
  10#  / \ / \
  11# o   X   ?
  12#  \ / \ /
  13#   o---o
  14#  R1  R2
  15#
  16
  17test_expect_success setup '
  18        ten="0 1 2 3 4 5 6 7 8 9"
  19        for i in $ten
  20        do
  21                echo line $i in a sample file
  22        done >one &&
  23        for i in $ten
  24        do
  25                echo line $i in another sample file
  26        done >two &&
  27        git add one two &&
  28        test_tick && git commit -m initial &&
  29
  30        git branch L1 &&
  31        git checkout -b R1 &&
  32        git mv one three &&
  33        test_tick && git commit -m R1 &&
  34
  35        git checkout L1 &&
  36        git mv two three &&
  37        test_tick && git commit -m L1 &&
  38
  39        git checkout L1^0 &&
  40        test_tick && git merge -s ours R1 &&
  41        git tag L2 &&
  42
  43        git checkout R1^0 &&
  44        test_tick && git merge -s ours L1 &&
  45        git tag R2
  46'
  47
  48test_expect_success merge '
  49        git reset --hard &&
  50        git checkout L2^0 &&
  51
  52        test_must_fail git merge -s recursive R2^0
  53'
  54
  55test_done