[PATCH] Make git tag -s friendly to keys with comments
- From
Petr Baudis <pasky@suse.cz>
- Date
- Jun 9, 2009, 23:48 UTC
- Message-ID
- <20090609234851.GA5286@machine.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