fix(update): stop mcupdate asking for a GitHub username

GitHub's HTTP/2 front end began answering the anonymous git-upload-pack
POST with 401 for the git 2.39 / libcurl 7.88 build that ships with
Debian 12. Git reads any 401 as a credential request, so update.sh sat
on "Username for 'https://github.com':" against a public repo, on every
server at once, with nothing changed locally.

Pull with http.version=HTTP/1.1, which GitHub still serves anonymously,
and set GIT_TERMINAL_PROMPT=0 so a genuine auth failure errors out
instead of blocking on stdin forever. Documented in troubleshooting,
README and whatsnew, including the one-off git config for installs too
old to carry the fix.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
MarekWoandClaude Opus 5 committed 2026-09-02 21:09:41 +02:00
1 parent 72205dd145
commit 4df984b2e0
4 files changed
+39 -1

No files matched your search

+7 -1
View File
@@ -40,7 +40,13 @@ echo ""
# Step 1: Git pull
info "Pulling latest changes from Git..."
if git pull; then
# Force HTTP/1.1 for the pull. GitHub's HTTP/2 edge rejects the anonymous
# git-upload-pack POST sent by older git/libcurl (e.g. Debian bookworm's
# git 2.39 + libcurl 7.88) with a 401, which git reports as a credential
# prompt - "Username for 'https://github.com'" - even on this public repo.
# GIT_TERMINAL_PROMPT=0 turns any auth failure into an error instead of
# leaving the script waiting on stdin forever.
if GIT_TERMINAL_PROMPT=0 git -c http.version=HTTP/1.1 pull; then
success "Git pull completed"
else
error "Git pull failed"