threads / patch / 19764

patchMake git tag -s friendly to keys with comments

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

## tl;dr

One message between Jun 9, 2009 and Jun 9, 2009. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Petr Baudis· Jun 9, 2009, 23:48 UTC · lore

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) <pasky@ucw.cz>
	Petr Baudis (SuSE Labs) <pasky@suse.cz>

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

Signed-off-by: Petr Baudis <pasky@suse.cz>
---
Show changes to builtin-tag.c +4 −2
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

← back to recent threads