git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC/PATCH 1/2] log: add "log.showsignature" configuration variable

From
Mehul Jain <mehul.jain2029@gmail.com>
Date
May 26, 2016, 13:06 UTC
Message-ID
<20160526130647.27001-2-mehul.jain2029@gmail.com>
In-Reply-To
<20160526130647.27001-1-mehul.jain2029@gmail.com>

People may want to always use "--show-signature" while using "git log" or "git show".

When log.showsignature set true, "git log" and "git show" will behave as "--show-signature" was given to them.

Signed-off-by: Mehul Jain <mehul.jain2029@gmail.com>
---
 Documentation/git-log.txt |  4 ++++
 builtin/log.c             |  6 ++++++
 t/t4202-log.sh            | 19 +++++++++++++++++++
 t/t7510-signed-commit.sh  |  7 +++++++
 4 files changed, 36 insertions(+)
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 03f9580..f39f800 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -196,6 +196,10 @@ log.showRoot::
 	`git log -p` output would be shown without a diff attached.
 	The default is `true`.
 
+log.showSignature::
+	If `true`, `git log` and `git show` will act as if `--show-signature`
+	option was passed to them.
+
 mailmap.*::
 	See linkgit:git-shortlog[1].
 
diff --git a/builtin/log.c b/builtin/log.c
index 099f4f7..7103217 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -33,6 +33,7 @@ static const char *default_date_mode = NULL;
 static int default_abbrev_commit;
 static int default_show_root = 1;
 static int default_follow;
+static int default_show_signature;
 static int decoration_style;
 static int decoration_given;
 static int use_mailmap_config;
@@ -119,6 +120,7 @@ static void cmd_log_init_defaults(struct rev_info *rev)
 	rev->abbrev_commit = default_abbrev_commit;
 	rev->show_root_diff = default_show_root;
 	rev->subject_prefix = fmt_patch_subject_prefix;
+	rev->show_signature = default_show_signature;
 	DIFF_OPT_SET(&rev->diffopt, ALLOW_TEXTCONV);
 
 	if (default_date_mode)
@@ -409,6 +411,10 @@ static int git_log_config(const char *var, const char *value, void *cb)
 		use_mailmap_config = git_config_bool(var, value);
 		return 0;
 	}
+	if (!strcmp(var, "log.showsignature")) {
+		default_show_signature = git_config_bool(var, value);
+		return 0;
+	}
 
 	if (grep_config(var, value, cb) < 0)
 		return -1;
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 128ba93..36be9a1 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -890,6 +890,25 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
 	grep "^| | gpg: Good signature" actual
 '
 
+test_expect_success GPG 'log.showsignature=true behaves like --show-signature' '
+	git checkout -b test_sign master &&
+	echo foo >foo &&
+	git add foo &&
+	git commit -S -m signed_commit &&
+	test_config log.showsignature true &&
+	git log -1 signed >actual &&
+	test_i18ngrep "gpg: Signature made" actual &&
+	test_i18ngrep "gpg: Good signature" actual
+'
+
+test_expect_success GPG '--show-signature overrides log.showsignature=false' '
+	test_when_finished "git reset --hard && git checkout master" &&
+	git config log.showsignature false &&
+	git log -1 --show-signature signed >actual &&
+	test_i18ngrep "gpg: Signature made" actual &&
+	test_i18ngrep "gpg: Good signature" actual
+'
+
 test_expect_success 'log --graph --no-walk is forbidden' '
 	test_must_fail git log --graph --no-walk
 '
diff --git a/t/t7510-signed-commit.sh b/t/t7510-signed-commit.sh
index 4177a86..326dcc8 100755
--- a/t/t7510-signed-commit.sh
+++ b/t/t7510-signed-commit.sh
@@ -210,4 +210,11 @@ test_expect_success GPG 'show lack of signature with custom format' '
 	test_cmp expect actual
 '
 
+test_expect_success GPG 'log.showsignature behaves like --show-signature' '
+	git config log.showsignature true &&
+	git show initial > actual &&
+	test_i18ngrep "gpg: Signature made" actual &&
+	test_i18ngrep "gpg: Good signature" actual
+'
+
 test_done
-- 
2.9.0.rc0.dirty
Previous: Mehul JainNext: Remi Galan Alfonso
Message 2 of 18 in “Introduce "log.showSignature" config variable”
  1. 0/2 Introduce "log.showSignature" config variableMehul Jain, May 26, 2016
  2. 1/2 log: add "log.showsignature" configuration variableMehul Jain, May 26, 2016
  3. Remi Galan AlfonsoMay 26, 2016
  4. Mehul JainMay 26, 2016
  5. Remi Galan AlfonsoMay 26, 2016
  6. Mehul JainMay 26, 2016
  7. Pranit BauvaMay 27, 2016
  8. Jeff KingMay 26, 2016
  9. Mehul JainMay 27, 2016
  10. 2/2 log: add "--no-show-signature" command line optionMehul Jain, May 26, 2016
  11. Jeff KingMay 26, 2016
  12. Mehul JainMay 26, 2016
  13. Jeff KingMay 26, 2016
  14. Junio C HamanoMay 26, 2016
  15. Mehul JainMay 27, 2016
  16. Junio C HamanoMay 27, 2016
  17. Jeff KingMay 27, 2016
  18. Austin EnglishMay 27, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.