#!/bin/sh test_description='git merge Testing a custom strategy.' . ./test-lib.sh cat >git-merge-theirs <<EOF #!$SHELL_PATH eval git read-tree --reset -u \\\$\$# EOF chmod +x git-merge-theirs PATH=.:$PATH export PATH test_expect_success 'setup' ' echo c0 >c0.c && git add c0.c && git commit -m c0 && git tag c0 && echo c1 >c1.c && git add c1.c && git commit -m c1 && git tag c1 && git reset --hard c0 && echo c1c1 >c1.c && echo c2 >c2.c && git add c1.c c2.c && git commit -m c2 && git tag c2 ' test_expect_success 'merge c2 with a custom strategy' ' git reset --hard c1 && git merge -s theirs c2 && test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" && test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" && test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" && test "$(git rev-parse c2^{tree})" = "$(git rev-parse HEAD^{tree})" && git diff --exit-code && git diff --exit-code c2 HEAD && git diff --exit-code c2 && test -f c0.c && grep c1c1 c1.c && test -f c2.c ' test_done