git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Test "t0300-credentials" is failing on Arch/Artix: asks to enter the Username/Password in an infinite loop

From
IIIvan Ivanov <qmastery16@gmail.com>
Date
Mar 6, 2026, 00:42 UTC
Message-ID
<CAAaskFBp+A9pOhd8O6owd6k0cDj66ipXrqH2Hj_c7j3d=HM10Q@mail.gmail.com>

Good day! While trying to rebuild git for Arch/Artix, I run into the following problem: shortly after "*** prove (shell & unit tests) ***" I get asked the Username/Password in an endless loop. Below are the full logs, as well as the contents of ./test-results/t0300-credentials.out file, hope this is helpful for debugging. Please note that I have all the dependencies installed, even the optional ones like Apache HTTPD (some online manuals suggested doing that, but didn't help to pass this test)

==> Starting check()...
    GEN git-difftool--helper
    GEN git-filter-branch
    GEN git-merge-octopus
    GEN git-merge-one-file
    GEN git-merge-resolve
    GEN git-mergetool
    GEN git-quiltimport
    GEN git-request-pull
    GEN git-submodule
    GEN git-web--browse
    GEN git-archimport
    GEN git-cvsexportcommit
    GEN git-cvsimport
    GEN git-cvsserver
    GEN git-send-email
    GEN git-svn
    GEN git-p4
    GEN git-instaweb
    GEN git-mergetool--lib
    GEN git-sh-i18n
    GEN git-sh-setup
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR templates
    GEN perl/build/lib/Git.pm
    GEN perl/build/lib/Git/I18N.pm
    GEN perl/build/lib/Git/IndexInfo.pm
    GEN perl/build/lib/Git/LoadCPAN.pm
    GEN perl/build/lib/Git/Packet.pm
    GEN perl/build/lib/Git/SVN.pm
    GEN perl/build/lib/Git/LoadCPAN/Error.pm
    GEN perl/build/lib/Git/SVN/Editor.pm
    GEN perl/build/lib/Git/SVN/Fetcher.pm
    GEN perl/build/lib/Git/SVN/GlobSpec.pm
    GEN perl/build/lib/Git/SVN/Log.pm
    GEN perl/build/lib/Git/SVN/Migration.pm
    GEN perl/build/lib/Git/SVN/Prompt.pm
    GEN perl/build/lib/Git/SVN/Ra.pm
    GEN perl/build/lib/Git/SVN/Utils.pm
    GEN perl/build/lib/Git/LoadCPAN/Mail/Address.pm
    GEN perl/build/lib/Git/SVN/Memoize/YAML.pm
make -C t/ all
make[1]: Entering directory '/home/username/artix_git/src/git/t'
rm -f -r 'test-results'
*** prove (shell & unit tests) ***
Username for 'http://example.com':
Password for 'http://example.com':
Username for 'http://example.com':
Password for 'http://example.com':
/src/git/t$ cat ./test-results/t0300-credentials.out
Initialized empty Git repository in /dev/shm/git-test/trash
directory.t0300-credentials/.git/
expecting success of 0300.1 'setup helper scripts':
    cat >dump <<-\EOF &&
    whoami=$(echo $0 | sed s/.*git-credential-//)
    echo >&2 "$whoami: $*"
    OIFS=$IFS
    IFS==
    while read key value; do
        echo >&2 "$whoami: $key=$value"
        if test -z "${key%%*\[\]}"
        then
            key=${key%%\[\]}
            eval "$key=\"\$$key $value\""
        else
            eval "$key=$value"
        fi
    done
    IFS=$OIFS
    EOF
    write_script git-credential-useless <<-\EOF &&
    . ./dump
    exit 0
    EOF
    write_script git-credential-quit <<-\EOF &&
    . ./dump
    echo quit=1
    EOF
    write_script git-credential-verbatim <<-\EOF &&
    user=$1; shift
    pass=$1; shift
    . ./dump
    test -z "$user" || echo username=$user
    test -z "$pass" || echo password=$pass
    EOF
    write_script git-credential-verbatim-cred <<-\EOF &&
    authtype=$1; shift
    credential=$1; shift
    . ./dump
    echo capability[]=authtype
    echo capability[]=state
    test -z "${capability##*authtype*}" || exit 0
    test -z "$authtype" || echo authtype=$authtype
    test -z "$credential" || echo credential=$credential
    test -z "${capability##*state*}" || exit 0
    echo state[]=verbatim-cred:foo
    EOF
    write_script git-credential-verbatim-ephemeral <<-\EOF &&
    authtype=$1; shift
    credential=$1; shift
    . ./dump
    echo capability[]=authtype
    test -z "${capability##*authtype*}" || exit 0
    test -z "$authtype" || echo authtype=$authtype
    test -z "$credential" || echo credential=$credential
    echo "ephemeral=1"
    EOF
    write_script git-credential-verbatim-with-expiry <<-\EOF &&
    user=$1; shift
    pass=$1; shift
    pexpiry=$1; shift
    . ./dump
    test -z "$user" || echo username=$user
    test -z "$pass" || echo password=$pass
    test -z "$pexpiry" || echo password_expiry_utc=$pexpiry
    EOF
    write_script git-credential-cntrl-in-username <<-\EOF &&
    printf "username=\\007latrix Lestrange\\n"
    EOF
    PATH="$PWD:$PATH"
ok 1 - setup helper scripts
expecting success of 0300.2 'credential_fill invokes helper':
    check fill "verbatim foo bar" <<-\EOF
    protocol=http
    host=example.com
    --
    protocol=http
    host=example.com
    username=foo
    password=bar
    --
    verbatim: get
    verbatim: protocol=http
    verbatim: host=example.com
    EOF

--- expect-stdout 2026-03-06 00:33:02.009338195 +0000 +++ stdout 2026-03-06 00:33:07.569338321 +0000

@@ -1,4 +1,4 @@
 protocol=http
 host=example.com
-username=foo
-password=bar
+username=
+password=
not ok 2 - credential_fill invokes helper
#
#        check fill "verbatim foo bar" <<-\EOF
#        protocol=http
#        host=example.com
#        --
#        protocol=http
#        host=example.com
#        username=foo
#        password=bar
#        --
#        verbatim: get
#        verbatim: protocol=http
#        verbatim: host=example.com
#        EOF
#

expecting success of 0300.3 'credential_fill invokes helper with credential':
    check fill "verbatim-cred Bearer token" <<-\EOF
    capability[]=authtype
    protocol=http
    host=example.com
    --
    capability[]=authtype
    authtype=Bearer
    credential=token
    protocol=http
    host=example.com
    --
    verbatim-cred: get
    verbatim-cred: capability[]=authtype
    verbatim-cred: protocol=http
    verbatim-cred: host=example.com
    EOF

--- expect-stdout    2026-03-06 00:33:07.581338322 +0000
+++ stdout    2026-03-06 00:33:08.191338336 +0000
@@ -1,5 +1,4 @@
-capability[]=authtype
-authtype=Bearer
-credential=token
 protocol=http
 host=example.com
+username=
+password=
not ok 3 - credential_fill invokes helper with credential
#
#        check fill "verbatim-cred Bearer token" <<-\EOF
#        capability[]=authtype
#        protocol=http
#        host=example.com
#        --
#        capability[]=authtype
#        authtype=Bearer
#        credential=token
#        protocol=http
#        host=example.com
#        --
#        verbatim-cred: get
#        verbatim-cred: capability[]=authtype
#        verbatim-cred: protocol=http
#        verbatim-cred: host=example.com
#        EOF
#

expecting success of 0300.4 'credential_fill invokes helper with
ephemeral credential':
    check fill "verbatim-ephemeral Bearer token" <<-\EOF
    capability[]=authtype
    protocol=http
    host=example.com
    --
    capability[]=authtype
    authtype=Bearer
    credential=token
    ephemeral=1
    protocol=http
    host=example.com
    --
    verbatim-ephemeral: get
    verbatim-ephemeral: capability[]=authtype
    verbatim-ephemeral: protocol=http
    verbatim-ephemeral: host=example.com
    EOF
Next: Ivan Ivanov
Message 1 of 12 in “Test "t0300-credentials" is failing on Arch/Artix: asks to enter the Username/Password in an infinite loop”
  1. Ivan IvanovMar 6, 2026
  2. Ivan IvanovMar 6, 2026
  3. brian m. carlsonMar 6, 2026
  4. Ivan IvanovMar 6, 2026
  5. brian m. carlsonMar 6, 2026
  6. Ivan IvanovMar 6, 2026
  7. Ivan IvanovMar 6, 2026
  8. Jeff KingMar 6, 2026
  9. Ivan IvanovMar 6, 2026
  10. Jeff KingMar 6, 2026
  11. Ivan IvanovMar 6, 2026
  12. brian m. carlsonMar 6, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.