diff options
| -rw-r--r-- | ident.c | 19 | 
1 files changed, 12 insertions, 7 deletions
@@ -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;  | 
