Skip to content

Commit

Permalink
Make "empty ident" error message a bit more helpful.
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
Junio C Hamano committed Feb 18, 2006
1 parent 62a4417 commit 925f918
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions ident.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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)
Expand Down

0 comments on commit 925f918

Please sign in to comment.