David Turner <dturner@xxxxxxxxxxxx> writes: > 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); Makes sense.