diff options
author | Junio C Hamano <junkio@cox.net> | 2006-02-18 01:20:06 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-02-18 01:24:38 -0800 |
commit | 925f9187697acfdbd7dbfe15e8420e1d3a671433 (patch) | |
tree | a0aa611af077c7718b0ab659141af5682400688d | |
parent | 62a4417b574ce5120882016fd7803b9bccf68a67 (diff) | |
download | git-925f9187697acfdbd7dbfe15e8420e1d3a671433.tar.gz git-925f9187697acfdbd7dbfe15e8420e1d3a671433.tar.xz |
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>
-rw-r--r-- | ident.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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) |