From: Jeff King Date: Thu, 24 May 2012 23:32:37 GMT Subject: [PATCH 6/7] ident: reject bogus email addresses with IDENT_STRICT Message-ID: <20120524233237.GF11084@sigill.intra.peff.net> In-Reply-To: <20120524232515.GA11054@sigill.intra.peff.net> If we come up with a hostname like "foo.(none)" because the user's machine is not fully qualified, we should reject this in strict mode (e.g., when we are making a commit object), just as we reject an empty gecos username. Signed-off-by: Jeff King --- Note that in conjunction with the previous patch, you can no longer "git commit" with such a bogus address. I think this is a good thing. However, it's possible some old-timers might disagree. I remember Linus a long time ago mentioning that using the machine-name in the committer line was a _feature_. These days he seems to set user.email to a real address, though (and I think that is sane these days, because other tools really want to do use identities as more than just a token. E.g., email tools, gpg-signing, etc). ident.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ident.c b/ident.c index c42258f..ca098d9 100644 --- a/ident.c +++ b/ident.c @@ -288,6 +288,12 @@ const char *fmt_ident(const char *name, const char *email, name = pw->pw_name; } + if (strict && email == git_default_email.buf && + !strstr(email, "(none)")) { + fputs(env_hint, stderr); + die("unable to auto-detect email address (got '%s')", email); + } + if (want_date) { if (date_str && date_str[0]) { if (parse_date(date_str, date, sizeof(date)) < 0) -- 1.7.10.1.25.g7031a0f