On 19/04/2023 19.12, Mads Kiilerich wrote:
On 19/04/2023 17:27, Manuel Jacob wrote:
On 19/04/2023 17.21, Manuel Jacob wrote:
On Arch Linux:
% git --version
git version 2.40.0
% GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null
EMAIL='foo@bar' git commit -m "committed new 0" --author "User ǝɯɐᴎ
<m...@example.com>"
Committer identity unknown
On CentOS 7:
% git --version
git version 2.36.5
% GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null
EMAIL='foo@bar' git commit -m "committed new 0" --author "User ǝɯɐᴎ
<m...@example.com>"
Committer identity unknown
But with openSUSE Leap 15.4 with git 2.35.3, it works (uses $USER as
the name).
Same on openSUSE Tumbleweed with git 2.40.0.
That's interesting obvervations - thanks. It seems like we are far from
a full understanding the problem we are trying to fix. There seems to be
a high risk that we make more assumptions that will be invalid on some
systems.
I verified that it works as I expect on my Fedora 38 system, both with
the system git 2.40.0 and with a git build from
https://github.com/git/git/ source . I don't really have access to other
systems.
It could be somewhat interesting if you could try to build git from
source on your failing systems. It could give a hint if it is some kind
of distro patching or build configuration that makes a difference. Or if
it is controlled by some other unknown factor.
Git infers the default user name from struct passwd’s pw_gecos
attribute. That one happened to be empty for the users on the systems on
which Git couldn’t infer a non-empty default user name.
It could also be interesting to ask some git experts if they could
explain why for example 2.40.0 on Arch and openSUSE respond differently
- that is really a question of reliable scripting of git and has nothing
to do with Kallithea.
The code in https://github.com/git/git/blob/main/ident.c has many small
steps and it is not obvious what could make it behave differently.
Yes, the code is complex. I stepped through it with a debugger before to
find out what’s happening. Then I decided that the inference is too
complex and system-dependent and we should not let it get that far.
That’s why I sent the patch setting everything uniformly via environment
variables.
Although at some point I decided (for me) that digging into the details
of the inference algorithm too much is not worth it to solve the
problem, the approach chosen in this patch series was a deliberate
choice insteads of trying around until it works (I’m just clarifying
this in case you got a different perception).
I’ll resend the patch series with improved changeset descriptions and
comments, to hopefully be clearer and less confusing.
/Mads
_______________________________________________
kallithea-general mailing list
kallithea-general@sfconservancy.org
https://lists.sfconservancy.org/mailman/listinfo/kallithea-general