[PATCH 6/6] Add a new test for using a custom merge strategy
From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:04
Subsystem:
the rest · Maintainer:
Linus Torvalds
Testing is done by creating a simple git-merge-theirs strategy which just picks the upstream tree. (In other words, this is not the opposite of -s ours.) Signed-off-by: Miklos Vajna <redacted> --- On Mon, Jul 28, 2008 at 03:12:59PM +0200, Johannes Schindelin [off-list ref] wrote:
Note that what was asked for, and what Junio implemented before deciding that it would do more harm than good in git.git, is not the same as what you provide.
Thanks, now I see the difference. The updated commit message is hopefully better. Also I added a check to make sure the upstream and the result tree is the same as well. t/t7606-merge-custom.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-) create mode 100755 t/t7606-merge-custom.sh
diff --git a/t/t7606-merge-custom.sh b/t/t7606-merge-custom.sh
new file mode 100755
index 0000000..13e8ff5
--- /dev/null
+++ b/t/t7606-merge-custom.sh@@ -0,0 +1,46 @@ +#!/bin/sh + +test_description='git-merge + +Testing a custom strategy.' + +. ./test-lib.sh + +cat > git-merge-theirs << EOF +#!/bin/sh +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 c2 > c2.c && + git add 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 && + test -f c0.c && + test ! -f c1.c && + test -f c2.c +' + +test_done
--
1.6.0.rc0.14.g95f8.dirty