Browse Source

ident: check for useConfigOnly before auto-detection of name/email

If user.useConfigOnly is set, it does not make sense to try to
auto-detect the name and/or the email.  The auto-detection may
even result in a bogus name and trigger an error message.

Check if the use-config-only is set and die if no explicit name was
given, before attempting to auto-detect, to correct this.

Signed-off-by: Marios Titas <redneb@gmx.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Marios Titas 9 years ago committed by Junio C Hamano
parent
commit
734c7789aa
  1. 12
      ident.c

12
ident.c

@ -351,15 +351,15 @@ const char *fmt_ident(const char *name, const char *email, @@ -351,15 +351,15 @@ const char *fmt_ident(const char *name, const char *email,
if (want_name) {
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");
name = ident_default_name();
using_default = 1;
if (strict && default_name_is_bogus) {
fputs(env_hint, stderr);
die("unable to auto-detect name (got '%s')", name);
}
if (strict && ident_use_config_only
&& !(ident_config_given & IDENT_NAME_GIVEN))
die("user.useConfigOnly set but no name given");
}
if (!*name) {
struct passwd *pw;
@ -374,14 +374,14 @@ const char *fmt_ident(const char *name, const char *email, @@ -374,14 +374,14 @@ 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");
email = ident_default_email();
if (strict && default_email_is_bogus) {
fputs(env_hint, stderr);
die("unable to auto-detect email address (got '%s')", email);
}
if (strict && ident_use_config_only
&& !(ident_config_given & IDENT_MAIL_GIVEN))
die("user.useConfigOnly set but no mail given");
}

strbuf_reset(&ident);

Loading…
Cancel
Save