mirror of
https://github.com/git/git.git
synced 2024-11-05 08:47:56 +01:00
Make "empty ident" error message a bit more helpful.
It appears that some people who did not care about having bogus names in their own commit messages are bitten by the recent change to require a sane environment [*1*]. While it was a good idea to prevent people from using bogus names to create commits and doing sign-offs, the error message is not very informative. This patch attempts to warn things upfront and hint people how to fix their environments. [Footnote] *1* The thread is this one. http://marc.theaimsgroup.com/?t=113868084800004 Especially this message. http://marc.theaimsgroup.com/?m=113932830015032 Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
15b4d577ae
commit
2fb4a21074
1 changed files with 14 additions and 0 deletions
14
ident.c
14
ident.c
|
@ -46,6 +46,15 @@ static void copy_gecos(struct passwd *w, char *name, int sz)
|
|||
|
||||
}
|
||||
|
||||
static const char au_env[] = "GIT_AUTHOR_NAME";
|
||||
static const char co_env[] = "GIT_COMMITTER_NAME";
|
||||
static const char env_hint[] =
|
||||
"\n*** Environment problem:\n"
|
||||
"*** Your name cannot be determined from your system services (gecos).\n"
|
||||
"*** You would need to set %s and %s\n"
|
||||
"*** environment variables; otherwise you won't be able to perform\n"
|
||||
"*** certain operations because of \"empty ident\" errors.\n\n";
|
||||
|
||||
int setup_ident(void)
|
||||
{
|
||||
int len;
|
||||
|
@ -57,6 +66,11 @@ int setup_ident(void)
|
|||
/* Get the name ("gecos") */
|
||||
copy_gecos(pw, git_default_name, sizeof(git_default_name));
|
||||
|
||||
if (!*git_default_name) {
|
||||
if (!getenv(au_env) || !getenv(co_env))
|
||||
fprintf(stderr, env_hint, au_env, co_env);
|
||||
}
|
||||
|
||||
/* Make up a fake email address (name + '@' + hostname [+ '.' + domainname]) */
|
||||
len = strlen(pw->pw_name);
|
||||
if (len > sizeof(git_default_email)/2)
|
||||
|
|
Loading…
Reference in a new issue