git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Elijah Newren <newren@gmail.com>
To: git@vger.kernel.org
Cc: Elijah Newren <newren@gmail.com>
Subject: [PATCH 5/6] Add a testcase demonstrating a bug with trivial merges
Date: Sat,  9 Apr 2016 23:13:39 -0700	[thread overview]
Message-ID: <1460268820-8308-6-git-send-email-newren@gmail.com> (raw)
In-Reply-To: <1460268820-8308-1-git-send-email-newren@gmail.com>

Repeating a trivially merge more than once will leave the index out of
sync, despite being clean before the merge and operating on the exact
same heads as the first run.  The recorded merge has the correct tree and
the working tree is brought up to date, it is just the index that is left
as it was before the merge.  Every attempt to repeat the merge beyond the
first will leave the index in the same weird out-of-sync state.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 t/t7605-merge-resolve.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/t/t7605-merge-resolve.sh b/t/t7605-merge-resolve.sh
index 0cb9d11..2f80037 100755
--- a/t/t7605-merge-resolve.sh
+++ b/t/t7605-merge-resolve.sh
@@ -27,7 +27,7 @@ test_expect_success 'setup' '
 	git tag c3
 '
 
-test_expect_success 'merge c1 to c2' '
+merge_c1_to_c2_cmds='
 	git reset --hard c1 &&
 	git merge -s resolve c2 &&
 	test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
@@ -41,6 +41,10 @@ test_expect_success 'merge c1 to c2' '
 	test 3 = $(git ls-files | wc -l)
 '
 
+test_expect_success 'merge c1 to c2'        "$merge_c1_to_c2_cmds"
+
+test_expect_failure 'merge c1 to c2, again' "$merge_c1_to_c2_cmds"
+
 test_expect_success 'merge c2 to c3 (fails)' '
 	git reset --hard c2 &&
 	test_must_fail git merge -s resolve c3
-- 
2.8.0.21.g229f62a

  parent reply	other threads:[~2016-04-10  6:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-10  6:13 [PATCH 0/6] Miscellaneous merge fixes Elijah Newren
2016-04-10  6:13 ` [PATCH 1/6] Remove duplicate code Elijah Newren
2016-04-10  6:13 ` [PATCH 2/6] Avoid checking working copy when creating a virtual merge base Elijah Newren
2016-04-13  1:28   ` Junio C Hamano
2016-04-10  6:13 ` [PATCH 3/6] Add merge testcases for when index doesn't match HEAD Elijah Newren
2016-04-10  6:13 ` [PATCH 4/6] merge-octopus: Abort if index does not " Elijah Newren
2016-04-10  6:13 ` Elijah Newren [this message]
2016-04-10  6:13 ` [PATCH 6/6] builtin/merge.c: Fix a bug with trivial merges Elijah Newren
2016-04-13  1:23 ` [PATCH 0/6] Miscellaneous merge fixes Junio C Hamano
2016-04-15 21:14   ` Elijah Newren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1460268820-8308-6-git-send-email-newren@gmail.com \
    --to=newren@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).