Skip to content
  • Jeff King's avatar
    ident: handle NULL email when complaining of empty name · 862e80a4
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    If we see an empty name, we complain about and mention the
    matching email in the error message (to give it some
    context). However, the "email" pointer may be NULL here if
    we were planning to fill it in later from ident_default_email().
    
    This was broken by 59f92959 (fmt_ident: refactor strictness
    checks, 2016-02-04). Prior to that commit, we would look up
    the default name and email before doing any other actions.
    So one solution would be to go back to that.
    
    However, we can't just do so blindly. The logic for handling
    the "!email" condition has grown since then. In particular,
    looking up the default email can die if getpwuid() fails,
    but there are other errors that should take precedence.
    Commit 734c7789
    
     (ident: check for useConfigOnly before
    auto-detection of name/email, 2016-03-30) reordered the
    checks so that we prefer the error message for
    useConfigOnly.
    
    Instead, we can observe that while the name-handling depends
    on "email" being set, the reverse is not true. So we can
    simply set up the email variable first.
    
    This does mean that if both are bogus, we'll complain about
    the email before the name. But between the two, there is no
    reason to prefer one over the other.
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    862e80a4