#!/bin/sh test_description='merging with submodules' . ./test-lib.sh # # history # # a --- c # / \ / # root X # \ / \ # b --- d # test_expect_success setup ' mkdir sub && (cd sub && git init && echo original > file && git add file && test_tick && git commit -m sub-root) && git add sub && test_tick && git commit -m root && git checkout -b a master && (cd sub && echo A > file && git add file && test_tick && git commit -m sub-a) && git add sub && test_tick && git commit -m a && git checkout -b b master && (cd sub && echo B > file && git add file && test_tick && git commit -m sub-b) && git add sub && test_tick && git commit -m b git checkout -b c a && git merge -s ours b && git checkout -b d b && git merge -s ours a ' test_expect_success 'merging with modify/modify conflict' ' git checkout -b test1 a && test_must_fail git merge b && test -f .git/MERGE_MSG && git diff && test -n "$(git ls-files -u)" ' test_expect_success 'merging with a modify/modify conflict between merge bases' ' git reset --hard HEAD && git checkout -b test2 c && git merge d ' test_done