Re: [PATCH 2/5] merge-ort: drop unnecessary show_all_errors from collect_merge_info()
From: Junio C Hamano <hidden>
Date: 2026-06-01 12:23:12
"Elijah Newren via GitGitGadget" [off-list ref] writes:
From: Elijah Newren <redacted> collect_merge_info() has set info.show_all_errors = 1 since d2bc1994f363 (merge-ort: implement a very basic collect_merge_info(), 2020-12-13). This setting was copied from unpack-trees.c where it controls batching of error messages for porcelain display, but merge-ort has no such error-batching logic and never needed it. With show_all_errors set, traverse_trees() captures a negative callback return but continues processing remaining entries rather than stopping immediately. Removing the setting restores the default behavior where a negative return from collect_merge_info_callback() breaks out of the traversal loop right away, allowing a future commit to exit early when a corrupt tree is detected.
Nice spotting. As the error handling eventually is to die without making any further damange, returning early without seeing "more errors" is a good change.
quoted hunk ↗ jump to hunk
Signed-off-by: Elijah Newren <redacted> --- merge-ort.c | 1 - 1 file changed, 1 deletion(-)diff --git a/merge-ort.c b/merge-ort.c index 4b8e32209d..74e9636020 100644 --- a/merge-ort.c +++ b/merge-ort.c@@ -1740,7 +1740,6 @@ static int collect_merge_info(struct merge_options *opt, setup_traverse_info(&info, opt->priv->toplevel_dir); info.fn = collect_merge_info_callback; info.data = opt; - info.show_all_errors = 1; if (repo_parse_tree(opt->repo, merge_base) < 0 || repo_parse_tree(opt->repo, side1) < 0 ||