Re: [PATCH 2/2] ident: make the useConfigOnly error messages more informative
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 1, 2016, 22:04 UTC
- Message-ID
- <xmqqmvpdgf4n.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <20160330232552.GA31861@zeno>
Marios Titas <redneb@gmx.com> writes:
Show 5 quoted lines
> Yeah, maybe informative is not the right word. What I meant is that it > directs the user to do the "git config user.name" thing, which is > likely the most appropriate course of action in this situation. In any > event, I think printing the env_hint message would be really helpful > in this case.
OK, let's do this, then.
Thanks.
-- >8 -- From: Marios Titas <redneb@gmx.com> Date: Wed, 30 Mar 2016 22:29:43 +0300 Subject: [PATCH] ident: give "please tell me" message upon useConfigOnly error
The env_hint message applies perfectly to the case when user.useConfigOnly is set and at least one of the user.name and the user.email are not provided.
Additionally, use a less descriptive error message to discourage users from disabling user.useConfigOnly configuration variable to work around this error condition. We want to encourage them to set user.name or user.email instead.
Signed-off-by: Marios Titas <redneb@gmx.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> --- ident.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/ident.c b/ident.c index b2521ff..c766127 100644 --- a/ident.c +++ b/ident.c @@ -352,8 +352,10 @@ const char *fmt_ident(const char *name, const char *email, int using_default = 0; if (!name) { if (strict && ident_use_config_only - && !(ident_config_given & IDENT_NAME_GIVEN)) - die("user.useConfigOnly set but no name given"); + && !(ident_config_given & IDENT_NAME_GIVEN)) { + fputs(env_hint, stderr); + die("no name was given and auto-detection is disabled"); + } name = ident_default_name(); using_default = 1; if (strict && default_name_is_bogus) { @@ -375,8 +377,10 @@ const char *fmt_ident(const char *name, const char *email, if (!email) { if (strict && ident_use_config_only - && !(ident_config_given & IDENT_MAIL_GIVEN)) - die("user.useConfigOnly set but no mail given"); + && !(ident_config_given & IDENT_MAIL_GIVEN)) { + fputs(env_hint, stderr); + die("no email was given and auto-detection is disabled"); + } email = ident_default_email(); if (strict && default_email_is_bogus) { fputs(env_hint, stderr);
-- 2.8.0-246-g1783343