From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Elijah Newren <newren@gmail.com>
Subject: Re: [PATCH 7/5] merge-ll: report an error when reading external merge results fails
Date: Tue, 29 Sep 2026 14:19:26 -0700 [thread overview]
Message-ID: <xmqqv77neowx.fsf@gitster.g> (raw)
In-Reply-To: <20260929204421.GB1734030@coredump.intra.peff.net> (Jeff King's message of "Tue, 29 Sep 2026 16:44:21 -0400")
Jeff King <peff@peff.net> writes:
> +test_expect_success SANITY 'rerere preserves conflicts when driver output is unreadable' '
> + test_create_repo unreadable-output &&
> + (
> + cd unreadable-output &&
> + git config rerere.enabled true &&
> + git config rerere.autoupdate true &&
> + write_script merge-driver <<-\EOF &&
> + git merge-file "$@"
> + status=$?
> + if test -f fail-read
> + then
> + chmod 0 "$1" || exit 1
> + fi
Can we lose SANITY by "rm $1" instead of "chmod 0"?
> + exit "$status"
> + EOF
> + git config merge.unreadable.driver "./merge-driver %A %O %B" &&
> + echo "file merge=unreadable" >.gitattributes &&
> + test_commit base file base &&
> + git checkout -b one &&
> + test_commit --no-tag one file one &&
> + git checkout -b two base &&
> + test_commit --no-tag two file two &&
> +
> + # Teach rerere a resolution while the driver works normally.
> + test_must_fail git merge one &&
> + echo resolved >file &&
> + git rerere &&
> + git merge --abort &&
> +
> + # Recreate the conflict without replaying the resolution yet.
> + test_must_fail git -c rerere.enabled=false merge one &&
> +
> + # We will expect the same conflicted content after rerere fails
> + # below.
> + cp file expect &&
> + git ls-files -u >expect-index &&
> + test_file_not_empty expect-index &&
> +
> + # Now we try rerere again, but the merge driver will cause the
> + # read to fail.
> + >fail-read &&
> + git rerere 2>err &&
> + test_grep "Could not open" err &&
> +
> + # And we expect the conflicted state.
> + test_cmp expect file &&
> + git ls-files -u >actual-index &&
> + test_cmp expect-index actual-index
> + )
> +'
> +
> test_done
next prev parent reply other threads:[~2026-09-29 21:19 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 6:49 [PATCH 0/5] use size_t for xdiff mmfile_t Jeff King
2026-09-29 6:51 ` [PATCH 1/5] xdiff: clean up read_mmfile() allocations on error Jeff King
2026-09-29 18:37 ` Junio C Hamano
2026-09-29 6:52 ` [PATCH 2/5] xdiff: replace mmbuffer_t with mmfile_t Jeff King
2026-09-29 11:08 ` D. Ben Knoble
2026-09-29 18:39 ` Junio C Hamano
2026-09-30 15:32 ` Patrick Steinhardt
2026-09-30 22:46 ` Jeff King
2026-10-01 15:40 ` Junio C Hamano
2026-09-29 6:54 ` [PATCH 3/5] xdiff: use size_t for buffer sizes Jeff King
2026-09-29 6:54 ` [PATCH 4/5] merge-ll: use read_mmfile() to read external merge results Jeff King
2026-09-29 19:22 ` Junio C Hamano
2026-09-29 20:11 ` Jeff King
2026-09-29 20:41 ` Jeff King
2026-09-29 20:43 ` [PATCH 6/5] merge-ll: handle external driver status before reading result Jeff King
2026-09-29 20:44 ` [PATCH 7/5] merge-ll: report an error when reading external merge results fails Jeff King
2026-09-29 21:19 ` Junio C Hamano [this message]
2026-09-29 21:49 ` Jeff King
2026-09-30 18:01 ` Junio C Hamano
2026-09-30 22:41 ` Jeff King
2026-10-01 15:37 ` Junio C Hamano
2026-09-30 15:33 ` [PATCH 4/5] merge-ll: use read_mmfile() to read external merge results Patrick Steinhardt
2026-09-30 22:50 ` Jeff King
2026-09-29 6:55 ` [PATCH 5/5] xdiff: NUL-terminate buffers read by read_mmfile() Jeff King
2026-09-30 15:32 ` Patrick Steinhardt
2026-09-30 19:59 ` Junio C Hamano
2026-09-30 22:49 ` Jeff King
2026-09-30 23:43 ` [PATCH v2 0/7] use size_t for xdiff mmfile_t Jeff King
2026-09-30 23:44 ` [PATCH v2 1/7] xdiff: clean up read_mmfile() allocations on error Jeff King
2026-09-30 23:44 ` [PATCH v2 2/7] xdiff: replace mmbuffer_t with mmfile_t Jeff King
2026-09-30 23:44 ` [PATCH v2 3/7] xdiff: use size_t for buffer sizes Jeff King
2026-09-30 23:44 ` [PATCH v2 4/7] xdiff: NUL-terminate buffers read by read_mmfile() Jeff King
2026-10-01 13:15 ` Patrick Steinhardt
2026-09-30 23:44 ` [PATCH v2 5/7] merge-ll: use read_mmfile() to read external merge results Jeff King
2026-10-01 13:15 ` Patrick Steinhardt
2026-09-30 23:44 ` [PATCH v2 6/7] merge-ll: handle external driver status before reading result Jeff King
2026-09-30 23:44 ` [PATCH v2 7/7] merge-ll: report an error when reading external merge results fails Jeff King
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=xmqqv77neowx.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=newren@gmail.com \
--cc=peff@peff.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.