[PATCH v4 0/5] Signed-commit
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 20, 2011, 00:36 UTC
- Message-ID
- <1319071023-31919-1-git-send-email-gitster@pobox.com>
- In-Reply-To
- <1318983645-18897-1-git-send-email-gitster@pobox.com>
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