| 1375 | } |
| 1376 | |
| 1377 | void verify_merge_signature(struct commit *commit, int verbosity, |
| 1378 | int check_trust) |
| 1379 | { |
| 1380 | char hex[GIT_MAX_HEXSZ + 1]; |
| 1381 | struct signature_check signature_check; |
| 1382 | int ret; |
| 1383 | memset(&signature_check, 0, sizeof(signature_check)); |
| 1384 | |
| 1385 | ret = check_commit_signature(commit, &signature_check); |
| 1386 | |
| 1387 | repo_find_unique_abbrev_r(the_repository, hex, &commit->object.oid, |
| 1388 | DEFAULT_ABBREV); |
| 1389 | switch (signature_check.result) { |
| 1390 | case 'G': |
| 1391 | if (ret || (check_trust && signature_check.trust_level < TRUST_MARGINAL)) |
| 1392 | die(_("Commit %s has an untrusted GPG signature, " |
| 1393 | "allegedly by %s."), hex, signature_check.signer); |
| 1394 | break; |
| 1395 | case 'B': |
| 1396 | die(_("Commit %s has a bad GPG signature " |
| 1397 | "allegedly by %s."), hex, signature_check.signer); |
| 1398 | default: /* 'N' */ |
| 1399 | die(_("Commit %s does not have a GPG signature."), hex); |
| 1400 | } |
| 1401 | if (verbosity >= 0 && signature_check.result == 'G') |
| 1402 | printf(_("Commit %s has a good GPG signature by %s\n"), |
| 1403 | hex, signature_check.signer); |
| 1404 | |
| 1405 | signature_check_clear(&signature_check); |
| 1406 | } |
| 1407 | |
| 1408 | void append_merge_tag_headers(const struct commit_list *parents, |
| 1409 | struct commit_extra_header ***tail) |
no test coverage detected