Signed-off-by: Miklos Vajna <vmiklos@xxxxxxxxxxxxxx> --- The original page is here: https://zooko.com/badmerge/simple.html IIRC it was Robin who mentioned it on IRC. I obviously not send this patch for inclusion, but to raise a discussion: if I were a naive user I would think the merge will at least result in a conflict, however actually it just gaves a wrong result. t/t7608-merge-zooko.sh | 88 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 88 insertions(+), 0 deletions(-) create mode 100755 t/t7608-merge-zooko.sh diff --git a/t/t7608-merge-zooko.sh b/t/t7608-merge-zooko.sh new file mode 100755 index 0000000..32609c0 --- /dev/null +++ b/t/t7608-merge-zooko.sh @@ -0,0 +1,88 @@ +#!/bin/sh + +test_description='git merge + +Testing merge with the examples of Zooko.' + +. ./test-lib.sh + +# +# A - D \ +# \ B - C - E +# +test_expect_success 'setup' ' + cat <<EOF >file && +A +B +C +D +E +EOF + git add file && + git commit -m A && + git tag A && + cat <<EOF >file && +G +G +G +A +B +C +D +E +EOF + git add file && + git commit -m B && + git tag B && + cat <<EOF >file && +A +B +C +D +E +G +G +G +A +B +C +D +E +EOF + git add file && + git commit -m C && + git tag C && + git reset --hard A && + cat <<EOF >file && +A +B +X +D +E +EOF + git add file && + git commit -m D && + git tag D +' + +test_expect_failure 'merge C' ' + cat <<EOF >expected && +A +B +C +D +E +G +G +G +A +B +X +D +E +EOF + git merge C && + test_cmp expected file +' + +test_done -- 1.6.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html