send-pack: run GPG after atomic push checking
commita4f324a423ddfe3680bf6105f8c113d0e76305a0
authorHan Xin <hanxin.hx@alibaba-inc.com>
Sat, 19 Sep 2020 14:47:50 +0000 (19 22:47 +0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 19 Sep 2020 22:56:39 +0000 (19 15:56 -0700)
tree9b899646ae12f4e0457eb78852cf69dd7f870f48
parent54e85e7af1ac9e9a92888060d6811ae767fea1bc
send-pack: run GPG after atomic push checking

The refs update commands can be sent to the server side in two different
ways: GPG-signed or unsigned.  We should run these two operations in the
same "Finally, tell the other end!" code block, but they are seperated
by the "Clear the status for each ref" code block.  This will result in
a slight performance loss, because the failed atomic push will still
perform unnecessary preparations for shallow advertise and GPG-signed
commands buffers, and user may have to be bothered by the (possible) GPG
passphrase input when there is nothing to sign.

Add a new test case to t5534 to ensure GPG will not be called when the
GPG-signed atomic push fails.

Signed-off-by: Han Xin <hanxin.hx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
send-pack.c
t/t5534-push-signed.sh