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

1 messages from 2009-06-09 to 2009-06-09. Participants: Petr Baudis.
Thread: https://gitlist.dev/t/19764

## Petr Baudis, 2009-06-09 23:48

Subject: [PATCH] Make git tag -s friendly to keys with comments
Message-ID: <20090609234851.GA5286@machine.or.cz>
URL: https://gitlist.dev/e/20090609234851.GA5286%40machine.or.cz

```
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>

---

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

```
