When we fail to start a diff command inside a submodule, immediately exit the routine rather than trying to finish the command and printing a second message. Signed-off-by: David Turner <dturner@xxxxxxxxxxxx> --- submodule.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/submodule.c b/submodule.c index d13d103975..2e98e840af 100644 --- a/submodule.c +++ b/submodule.c @@ -720,8 +720,10 @@ void show_submodule_inline_diff(struct diff_options *o, const char *path, strvec_push(&cp.env_array, GIT_WORK_TREE_ENVIRONMENT "=."); } - if (start_command(&cp)) + if (start_command(&cp)) { diff_emit_submodule_error(o, "(diff failed)\n"); + goto done; + } while (strbuf_getwholeline_fd(&sb, cp.out, '\n') != EOF) diff_emit_submodule_pipethrough(o, sb.buf, sb.len); -- 2.11.GIT