Junio C Hamano [off-list ref] writes:
quoted
Instead, stepping back a bit, I wonder if we can extend coverage of
the helpful message to all die() calls when running git-am. We could
just install a die routine with set_die_routine() in builtin/am.c.
Then, should die() be called anywhere, the helpful error message will
be printed as well.
That could certainly be a valid approach and may give us a better
end result. If it works, it could be a change that is localized
with a lot less impact.
I looked at the codepath involved, and I do not think that is a
feasible way forward in this case. It is not about a "helpful
message" at all. You would have to do everything that is done in
the error codepath in your custom die routine, which does not make
much sense.
I think the most sensible regression fix as the first step at this
point is to call it as a separate process, just like the code calls
"apply" as a separate process for each patch. Optimization can come
later when it is shown that it matters---we need to regain
correctness first.