summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Richardson <brandon1024.br@gmail.com>2019-01-19 23:23:34 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-01-22 19:08:35 (GMT)
commit70ddbd7767c24076975a176e734767facd3b5380 (patch)
treec46380ab713489717cb720424a95dd65794b957f
parent41a74bd01301d2976e7f9ab1ef55733f9ea1a919 (diff)
downloadgit-70ddbd7767c24076975a176e734767facd3b5380.zip
git-70ddbd7767c24076975a176e734767facd3b5380.tar.gz
git-70ddbd7767c24076975a176e734767facd3b5380.tar.bz2
commit-tree: add missing --gpg-sign flag
Add --gpg-sign option in commit-tree, which was documented, but not implemented, in 55ca3f99ae. Add tests for the --gpg-sign option. Signed-off-by: Brandon Richardson <brandon1024.br@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/commit-tree.c8
-rwxr-xr-xt/t7510-signed-commit.sh15
2 files changed, 19 insertions, 4 deletions
diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
index 9ec36a8..12cc403 100644
--- a/builtin/commit-tree.c
+++ b/builtin/commit-tree.c
@@ -66,7 +66,13 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
continue;
}
- if (skip_prefix(arg, "-S", &sign_commit))
+ if (!strcmp(arg, "--gpg-sign")) {
+ sign_commit = "";
+ continue;
+ }
+
+ if (skip_prefix(arg, "-S", &sign_commit) ||
+ skip_prefix(arg, "--gpg-sign=", &sign_commit))
continue;
if (!strcmp(arg, "--no-gpg-sign")) {
diff --git a/t/t7510-signed-commit.sh b/t/t7510-signed-commit.sh
index 58f528b..682b23a 100755
--- a/t/t7510-signed-commit.sh
+++ b/t/t7510-signed-commit.sh
@@ -55,13 +55,22 @@ test_expect_success GPG 'create signed commits' '
# explicit -S of course must sign.
echo 10 | git commit-tree -S HEAD^{tree} >oid &&
test_line_count = 1 oid &&
- git tag tenth-signed $(cat oid)
+ git tag tenth-signed $(cat oid) &&
+
+ # --gpg-sign[=<key-id>] must sign.
+ echo 11 | git commit-tree --gpg-sign HEAD^{tree} >oid &&
+ test_line_count = 1 oid &&
+ git tag eleventh-signed $(cat oid) &&
+ echo 12 | git commit-tree --gpg-sign=B7227189 HEAD^{tree} >oid &&
+ test_line_count = 1 oid &&
+ git tag twelfth-signed-alt $(cat oid)
'
test_expect_success GPG 'verify and show signatures' '
(
for commit in initial second merge fourth-signed \
- fifth-signed sixth-signed seventh-signed tenth-signed
+ fifth-signed sixth-signed seventh-signed tenth-signed \
+ eleventh-signed
do
git verify-commit $commit &&
git show --pretty=short --show-signature $commit >actual &&
@@ -82,7 +91,7 @@ test_expect_success GPG 'verify and show signatures' '
done
) &&
(
- for commit in eighth-signed-alt
+ for commit in eighth-signed-alt twelfth-signed-alt
do
git show --pretty=short --show-signature $commit >actual &&
grep "Good signature from" actual &&