The fourth iteration. - The first patch refactors where the current code invokes gpg for signing and verification of tags; - The second patch introduces signed commit objects (unchanged); - The third patch teaches "git log/show" to show the signature (adjusted to the updated "gpg output capture" API, with colors); - The fourth patch refactors helper bits to test GPG related features out of existing "tag -s" && "tag --verify" test script (new); and - The fifth patch adds tests for "commit [--amend] -S", "merge -S", and "show --show-signature" (new). I think the internal API to drive "gpg" in this iteration is good to go. The verification side has been updated to allow the callers to capture output from GPG in a strbuf, so that they can pretty-print it in a format more suitable in their context, rather than just spewing it out to the standard error stream. Junio C Hamano (5): Split GPG interface into its own helper library commit: teach --gpg-sign option log: --show-signature t7004: extract generic "GPG testing" bits test "commit -S" and "log --show-signature" Makefile | 2 + builtin/commit-tree.c | 24 +++++++- builtin/commit.c | 12 +++- builtin/merge.c | 16 +++++- builtin/tag.c | 76 ++----------------------- builtin/verify-tag.c | 35 ++---------- commit.c | 74 ++++++++++++++++++++++++- commit.h | 5 +- gpg-interface.c | 138 ++++++++++++++++++++++++++++++++++++++++++++++ gpg-interface.h | 10 +++ log-tree.c | 39 +++++++++++++ notes-cache.c | 2 +- notes-merge.c | 2 +- revision.c | 2 + revision.h | 1 + t/lib-gpg.sh | 29 ++++++++++ t/lib-gpg/pubring.gpg | Bin 0 -> 1164 bytes t/lib-gpg/random_seed | Bin 0 -> 600 bytes t/lib-gpg/secring.gpg | Bin 0 -> 1237 bytes t/lib-gpg/trustdb.gpg | Bin 0 -> 1280 bytes t/t7004-tag.sh | 29 +--------- t/t7004/pubring.gpg | Bin 1164 -> 0 bytes t/t7004/random_seed | Bin 600 -> 0 bytes t/t7004/secring.gpg | Bin 1237 -> 0 bytes t/t7004/trustdb.gpg | Bin 1280 -> 0 bytes t/t7510-signed-commit.sh | 60 ++++++++++++++++++++ tag.c | 5 ++ 27 files changed, 422 insertions(+), 139 deletions(-) create mode 100644 gpg-interface.c create mode 100644 gpg-interface.h create mode 100644 t/lib-gpg.sh create mode 100644 t/lib-gpg/pubring.gpg create mode 100644 t/lib-gpg/random_seed create mode 100644 t/lib-gpg/secring.gpg create mode 100644 t/lib-gpg/trustdb.gpg delete mode 100644 t/t7004/pubring.gpg delete mode 100644 t/t7004/random_seed delete mode 100644 t/t7004/secring.gpg delete mode 100644 t/t7004/trustdb.gpg create mode 100755 t/t7510-signed-commit.sh -- 1.7.7.498.g3f2e50 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html