Re: [PATCH v4 5/5] builtin/stash: merge index in-core
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 29, 2026, 20:07 UTC
- Message-ID
- <xmqq4if7g6u1.fsf@gitster.g>
- In-Reply-To
- <e21b832a6e1d99416a220bb5ca1f008777ef4e7d.1790684309.git.ben.knoble@gmail.com>
"D. Ben Knoble" <ben.knoble@gmail.com> 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?