David Turner [off-list ref] writes:
quoted hunk
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 <redacted>
---
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.