Git fork

Merge branch 'as/ssh-signing-improve-key-missing-error'

Improve the error message given when private key is not loaded in
the ssh agent in the codepath to sign with an ssh key.

* as/ssh-signing-improve-key-missing-error:
ssh signing: better error message when key not in agent

+5 -1
+5 -1
gpg-interface.c
··· 998 998 char *ssh_signing_key_file = NULL; 999 999 struct strbuf ssh_signature_filename = STRBUF_INIT; 1000 1000 const char *literal_key = NULL; 1001 + int literal_ssh_key = 0; 1001 1002 1002 1003 if (!signing_key || signing_key[0] == '\0') 1003 1004 return error( ··· 1005 1006 1006 1007 if (is_literal_ssh_key(signing_key, &literal_key)) { 1007 1008 /* A literal ssh key */ 1009 + literal_ssh_key = 1; 1008 1010 key_file = mks_tempfile_t(".git_signing_key_tmpXXXXXX"); 1009 1011 if (!key_file) 1010 1012 return error_errno( ··· 1039 1041 "-Y", "sign", 1040 1042 "-n", "git", 1041 1043 "-f", ssh_signing_key_file, 1042 - buffer_file->filename.buf, 1043 1044 NULL); 1045 + if (literal_ssh_key) 1046 + strvec_push(&signer.args, "-U"); 1047 + strvec_push(&signer.args, buffer_file->filename.buf); 1044 1048 1045 1049 sigchain_push(SIGPIPE, SIG_IGN); 1046 1050 ret = pipe_command(&signer, NULL, 0, NULL, 0, &signer_stderr, 0);