From 46f74f007b86452c4b4135f5145f94eefc994ea2 Mon Sep 17 00:00:00 2001 From: Matt Kraai Date: Thu, 5 Jul 2007 17:29:41 -0700 Subject: Prefer EMAIL to username@hostname. The environment variable $EMAIL gives a better default of user's preferred e-mail address than the hardcoded "username@hostname", as it is understood by many existing programs. We still honor GIT_*_EMAIL environment variables and user.email configuration variable give them higher precedence, so that the user can override $EMAIL or "username@hostname", as they are likely to be more specific to the context of working on a particular project. Signed-off-by: Matt Kraai Signed-off-by: Junio C Hamano --- ident.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/ident.c b/ident.c index 3d49608e6f..6612d17eba 100644 --- a/ident.c +++ b/ident.c @@ -83,11 +83,18 @@ static void setup_ident(void) } if (!git_default_email[0]) { - if (!pw) - pw = getpwuid(getuid()); - if (!pw) - die("You don't exist. Go away!"); - copy_email(pw); + const char *email = getenv("EMAIL"); + + if (email && email[0]) + strlcpy(git_default_email, email, + sizeof(git_default_email)); + else { + if (!pw) + pw = getpwuid(getuid()); + if (!pw) + die("You don't exist. Go away!"); + copy_email(pw); + } } /* And set the default date */ @@ -197,8 +204,6 @@ const char *fmt_ident(const char *name, const char *email, name = git_default_name; if (!email) email = git_default_email; - if (!email) - email = getenv("EMAIL"); if (!*name) { struct passwd *pw; -- cgit v1.2.1