Git fork

Merge branch 're/ssh-sign-buffer-fix'

Tempfile removal fix in the codepath to sign commits with SSH keys.

* re/ssh-sign-buffer-fix:
ssh signing: don't detach the filename strbuf from key_file tempfile

+21 -13
+1 -1
gpg-interface.c
··· 1048 1048 key_file->filename.buf); 1049 1049 goto out; 1050 1050 } 1051 - ssh_signing_key_file = strbuf_detach(&key_file->filename, NULL); 1051 + ssh_signing_key_file = xstrdup(key_file->filename.buf); 1052 1052 } else { 1053 1053 /* We assume a file */ 1054 1054 ssh_signing_key_file = interpolate_path(signing_key, 1);
+20 -12
t/t7528-signed-commit-ssh.sh
··· 84 84 test_config gpg.format ssh && 85 85 eval $(ssh-agent) && 86 86 test_when_finished "kill ${SSH_AGENT_PID}" && 87 - ssh-add "${GPGSSH_KEY_PRIMARY}" && 88 - echo 1 >file && git add file && 89 - git commit -a -m rsa-inline -S"$(cat "${GPGSSH_KEY_PRIMARY}.pub")" && 90 - echo 2 >file && 91 - test_config user.signingkey "$(cat "${GPGSSH_KEY_PRIMARY}.pub")" && 92 - git commit -a -m rsa-config -S && 93 - ssh-add "${GPGSSH_KEY_ECDSA}" && 94 - echo 3 >file && 95 - git commit -a -m ecdsa-inline -S"key::$(cat "${GPGSSH_KEY_ECDSA}.pub")" && 96 - echo 4 >file && 97 - test_config user.signingkey "key::$(cat "${GPGSSH_KEY_ECDSA}.pub")" && 98 - git commit -a -m ecdsa-config -S 87 + test_when_finished "test_unconfig user.signingkey" && 88 + mkdir tmpdir && 89 + TMPDIR="$(pwd)/tmpdir" && 90 + ( 91 + export TMPDIR && 92 + ssh-add "${GPGSSH_KEY_PRIMARY}" && 93 + echo 1 >file && git add file && 94 + git commit -a -m rsa-inline -S"$(cat "${GPGSSH_KEY_PRIMARY}.pub")" && 95 + echo 2 >file && 96 + git config user.signingkey "$(cat "${GPGSSH_KEY_PRIMARY}.pub")" && 97 + git commit -a -m rsa-config -S && 98 + ssh-add "${GPGSSH_KEY_ECDSA}" && 99 + echo 3 >file && 100 + git commit -a -m ecdsa-inline -S"key::$(cat "${GPGSSH_KEY_ECDSA}.pub")" && 101 + echo 4 >file && 102 + git config user.signingkey "key::$(cat "${GPGSSH_KEY_ECDSA}.pub")" && 103 + git commit -a -m ecdsa-config -S 104 + ) && 105 + find tmpdir -type f >tmpfiles && 106 + test_must_be_empty tmpfiles 99 107 ' 100 108 101 109 test_expect_success GPGSSH,GPGSSH_VERIFYTIME 'create signed commits with keys having defined lifetimes' '