Max Horn <m...@quendi.de> writes:
> static int ident_is_sufficient(int user_ident_explicitly_given)
> #ifndef WINDOWS
> return (user_ident_explicitly_given & IDENT_MAIL_GIVEN);
> return (user_ident_explicitly_given == IDENT_ALL_GIVEN);
> According to git blame, this was introduced here:
> commit 5aeb3a3a838b2cb03d250f3376cf9c41f4d4608e
> Author: Junio C Hamano <gits...@pobox.com>
> Date: Sun Jan 17 13:54:28 2010 -0800
> user_ident_sufficiently_given(): refactor the logic to be usable from
> The commit message sounds as if this was only a refactoring, but
> the patch to me look as if it changes behaviour, too. Of course
> this could very well be false, say due to code elsewhere that
> already caused Windows to behave differently; I wouldn't know.
> Still, I wonder: Why does this difference exist?
Sorry but I do not recall why these ifdefs are there. The commit
did this to builtin-commit.c:
- if (user_ident_explicitly_given != IDENT_ALL_GIVEN)
+ if (!user_ident_sufficiently_given())
I would have written the function to always check with ALL_GIVEN
myself, and it is very likely that I was *not* the person who
noticed that the function needs to behave differently on Windows, as
I do not do Windows.
I suspect somebody from the Windows camp saw a patch I posted
without the ifdef, noticed that there is a problem to expect
IDENT_NAME_GIVEN to be set on Windows for some reason, and resulted
in a reroll of the function in that shape.
I didn't find anything in the list archive, though. So I am
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html