On 19/04/2023 16.27, Mads Kiilerich wrote:
On 19/04/2023 15:14, Manuel Jacob wrote:
On 19/04/2023 14.27, Mads Kiilerich wrote:
On 18/04/2023 20:35, Manuel Jacob wrote:
...
I think this changeset should come first. As you say, it makes the
test work the same way everywhere. user.useconfigonly is probably
just one of many settings that could break it.
If it still doesn't work for you with this change (without the
previous change), it can't be because your setup has
user.useconfigonly set. There must be some other explanation.
If I have only this changeset without the parent, command `git commit
-m "committed new 0" --author "User ǝɯɐᴎ <m...@example.com>"
"97u1nbm0setup.py"` fails with:
Committer identity unknown
*** Please tell me who you are.
...
Ok, after experimenting and reading git man pages, the shortest and
clearest description seems to be:
The git commit --author option can tell git to use another name as
author when committing, but git still has to know the user to use as
committer (to be shown with --format=full).
Without any git user configuration (for example because there is no
~/.gitconfig or because GIT_CONFIG_GLOBAL=/dev/null or because
user.useConfigOnly), commit will fail with some kind of error, even if
--author is specified.
But if EMAIL is set (and without user.useConfigOnly), it will use that
as username, apparently combined with the getpwnam gecos information.
The following thus seems to works for me - no matter what global/system
git configuration I have:
GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null EMAIL='foo@bar'
git commit -m "committed new 0" --author "User ǝɯɐᴎ <m...@example.com>"
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
*** Please tell me who you are.
Run
git config --global user.email "y...@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: empty ident name (for <foo@bar>) not allowed
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
*** Please tell me who you are.
Run
git config --global user.email "y...@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: empty ident name (for <foo@bar>) not allowed
But with openSUSE Leap 15.4 with git 2.35.3, it works (uses $USER as the
name).
Silently dropping the setting of EMAIL in the first changeset is thus a
bit risky. Could the consequences of that perhaps have interfered with
your testing?
/Mads
_______________________________________________
kallithea-general mailing list
kallithea-general@sfconservancy.org
https://lists.sfconservancy.org/mailman/listinfo/kallithea-general