diff options
author | Jeff King <peff@peff.net> | 2017-02-23 03:17:08 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-02-23 12:58:47 -0800 |
commit | 94425552f308946456bb7823d0a1dd72ebd30bdd (patch) | |
tree | 84bb2ac31b5f4e405d77adf28a08806e36edc5a2 /ident.c | |
parent | 13b9a24e58f736b70e48846cf7e5b7cfa66c3fec (diff) | |
download | git-94425552f308946456bb7823d0a1dd72ebd30bdd.tar.gz |
ident: do not ignore empty config name/emailjk/ident-empty
When we read user.name and user.email from a config file,
they go into strbufs. When a caller asks ident_default_name()
for the value, we fallback to auto-detecting if the strbuf
is empty.
That means that explicitly setting an empty string in the
config is identical to not setting it at all. This is
potentially confusing, as we usually accept a configured
value as the final value.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ident.c')
-rw-r--r-- | ident.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -153,7 +153,7 @@ static void copy_email(const struct passwd *pw, struct strbuf *email, const char *ident_default_name(void) { - if (!git_default_name.len) { + if (!(ident_config_given & IDENT_NAME_GIVEN) && !git_default_name.len) { copy_gecos(xgetpwuid_self(&default_name_is_bogus), &git_default_name); strbuf_trim(&git_default_name); } @@ -162,7 +162,7 @@ const char *ident_default_name(void) const char *ident_default_email(void) { - if (!git_default_email.len) { + if (!(ident_config_given & IDENT_MAIL_GIVEN) && !git_default_email.len) { const char *email = getenv("EMAIL"); if (email && email[0]) { |