On Fri, Oct 9, 2015 at 8:52 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > >> Brendan Forster noticed that we no longer see the helpful message after >> a failed `git pull --rebase`. It turns out that the builtin `am` calls >> the recursive merge function directly, not via a separate process. >> >> But that function was not really safe to be called that way, as it >> die()s pretty liberally. I'm not too familiar with the merge-recursive.c code, but I was under the impression that it only called die() under fatal conditions. In common use cases, such as merge conflicts, it just errors out and the helpful error message does get printed. Is there a reproduction recipe for this? That said, I do agree that even if we die(), we could try to be more helpful by printing additional helpful instructions. > If that is the case, I'd thinkg that we'd prefer, as a regression > fix to correct "that", i.e., let recursive-merge die and let the > caller catch its exit status. We could do that, but I don't think it would be worth the overhead to spawn an additional process for every patch just to print an additional message should merge_recursive() call die(). 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. fast-import.c and http-backend.c seem to do this. Regards, Paul -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html