Prefer EMAIL to username@hostname.
authorMatt Kraai <kraai@ftbfs.org>
Fri, 6 Jul 2007 00:29:41 +0000 (17:29 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Jul 2007 06:22:12 +0000 (23:22 -0700)
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 <kraai@ftbfs.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
ident.c
diff --git a/ident.c b/ident.c
index 3d49608e6f9afe22f24a2faf70f2d6cee50b8919..6612d17eba1b2bac59689d4fd5e742df242662fc 100644 (file)
--- 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;