From: Junio C Hamano Date: Tue, 29 Sep 2026 20:07:02 GMT Subject: Re: [PATCH v4 5/5] builtin/stash: merge index in-core Message-ID: In-Reply-To: "D. Ben Knoble" writes: > + merge_incore_nonrecursive(&o, merge_base, head, merge, > + &result); In a hard error from merge_incore_nonrecursive(), result->clean is set to -1, which means that ... > + if (!result.clean) { ... "result.clean is false" is not true here, so we will ... > + merge_finalize(&o, &result); > return error(_("conflicts in index. " > "Try without --index.")); > + } else { ... come here to access result.tree member, no? > + oidcpy(&index_tree, &result.tree->object.oid); > + merge_finalize(&o, &result); > + } IOW, shouldn't it be more like three-way check, if (result.clean < 0) { merge_finalize(&o, &result); return error(_("index merge failed.")); } else if (!result.clean) { merge_finalize(&o, &result); return error(_("conflict in index merge.")); } else { ... happy path ... } or something like that?