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

Reply via email to