diff mbox series

[v2,3/3] diff --submodule=diff: Don't print failure message twice

Message ID 20210802170004.4103535-3-dturner@twosigma.com (mailing list archive)
State Superseded
Headers show
Series [v2,1/3] Remove unused var | expand

Commit Message

David Turner Aug. 2, 2021, 5 p.m. UTC
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@twosigma.com>
---
 submodule.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Junio C Hamano Aug. 31, 2021, 6:19 a.m. UTC | #1
David Turner <dturner@twosigma.com> 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@twosigma.com>
> ---
>  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.
diff mbox series

Patch

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);