DORMANTno replies

[PATCH] Make git tag -s friendly to keys with comments

From: Petr Baudis <hidden>
Date: 2016-06-15 22:46:56
Subsystem: the rest · Maintainer: Linus Torvalds

git tag -s has very unfriendly default method of picking key ids;
it is documented in git-tag(1) as just the e-mail, but in fact
it is "Real Name <email>". This will never pick the right default
if the key was created with a comment in the name, like:

	Petr Baudis (Sirius Labs) [off-list ref]
	Petr Baudis (SuSE Labs) [off-list ref]

This patch makes git tag -s default to just the e-mail address,
as documented.

Signed-off-by: Petr Baudis <redacted>

---
diff --git a/builtin-tag.c b/builtin-tag.c
index e544430..9901925 100644
--- a/builtin-tag.c
+++ b/builtin-tag.c
@@ -165,8 +165,10 @@ static int do_sign(struct strbuf *buffer)
 	int i, j;
 
 	if (!*signingkey) {
-		if (strlcpy(signingkey, git_committer_info(IDENT_ERROR_ON_NO_NAME),
-				sizeof(signingkey)) > sizeof(signingkey) - 1)
+		char *commit_email = strchr(git_committer_info(IDENT_ERROR_ON_NO_NAME), '<');
+		assert(commit_email);
+		if (strlcpy(signingkey, commit_email, sizeof(signingkey))
+				> sizeof(signingkey) - 1)
 			return error("committer info too long.");
 		bracket = strchr(signingkey, '>');
 		if (bracket)
-- 
				Petr "Pasky" Baudis
The lyf so short, the craft so long to lerne. -- Chaucer
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help