efee955 ("gpg-interface: check gpg signature creation status", 2016-06-17) used stderr to capture gpg's status output, which is the only reliable way for status checks. As a side effect, stderr was not shown to the user any more. In case of a gpg error, reflect the whole captured buffer to stderr. Signed-off-by: Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> --- A full blown approach would use --status-fd=4 or such rather than hijacking stderr. This would require an extension of pipe_command() etc. to handle yet another fd. gpg-interface.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gpg-interface.c b/gpg-interface.c index 8672eda..cf35bca 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -173,9 +173,12 @@ int sign_buffer(struct strbuf *buffer, struct strbuf *signature, const char *sig sigchain_pop(SIGPIPE); ret |= !strstr(gpg_status.buf, "\n[GNUPG:] SIG_CREATED "); - strbuf_release(&gpg_status); - if (ret) + if (ret) { + fputs(gpg_status.buf, stderr); + strbuf_release(&gpg_status); return error(_("gpg failed to sign the data")); + } + strbuf_release(&gpg_status); /* Strip CR from the line endings, in case we are on Windows. */ for (i = j = bottom; i < signature->len; i++) -- 2.10.0.rc2.333.g8ef2d05