point the setup default at public https
was ssh://git@gitea.pastilhas.dev:2222/officerdev/platform.git now https://gitea.officer.dev/officerdev/platform.git Bigger than a URL swap. The SSH default could not clone on a genuinely fresh machine: the key machine-setup generates there is brand new and Gitea has never seen it, so `--repo` was effectively mandatory on a first install — which is the problem that flag was added for two hours ago. HTTPS needs no key and no agent, so the default now works on a blank box. The old comment explained SSH-because-private and set the condition for changing it: "back to HTTPS when the repository is public". It now is — verified with an anonymous `git ls-remote`, which lists refs with no credentials. Rewrote the comment to record why it moved and what to do if it ever goes private again, since that reasoning is the part worth keeping. clone_repo already runs GIT_TERMINAL_PROMPT=0, so a private repo would fail fast rather than hang on a username prompt. No change needed there. repo.sh is still the only place that sets this, and --repo / OFFICER_REPO still override it. Verified both. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,17 +14,23 @@
|
|||||||
[[ -n "${OFFICER_SETUP_REPO_LOADED:-}" ]] && return 0
|
[[ -n "${OFFICER_SETUP_REPO_LOADED:-}" ]] && return 0
|
||||||
OFFICER_SETUP_REPO_LOADED=1
|
OFFICER_SETUP_REPO_LOADED=1
|
||||||
|
|
||||||
# SSH rather than HTTPS, temporarily: the repository is private, and an HTTPS
|
# Public HTTPS, which is what this needed all along.
|
||||||
# clone of a private repo prompts for a username — which under sudo, with no
|
|
||||||
# interactive terminal, hangs or dies with "could not read Username".
|
|
||||||
#
|
#
|
||||||
# The clone runs as the OWNER, not as root (see the note above), so it uses their
|
# It was ssh://git@gitea.pastilhas.dev:2222/... until 2026-08-14, and the reason was
|
||||||
# ~/.ssh key. A passphrase-protected key normally answered by ssh-agent will not
|
# that the repository was private: an HTTPS clone of a private repo prompts for a
|
||||||
# work here: sudo drops SSH_AUTH_SOCK, so there is no agent to ask. An unencrypted
|
# username, and under sudo with no interactive terminal that hangs or dies with
|
||||||
# key, or one already accepted by the host, is what this expects.
|
# "could not read Username". The note here said "back to HTTPS when the repository is
|
||||||
|
# public", and it now is — verified with an anonymous `git ls-remote`.
|
||||||
#
|
#
|
||||||
# Back to HTTPS when the repository is public — nothing else here cares which.
|
# The change matters more than a URL swap. An SSH default cannot clone on a genuinely
|
||||||
OFFICER_REPO="${OFFICER_REPO:-ssh://git@gitea.pastilhas.dev:2222/officerdev/platform.git}"
|
# fresh machine: the key machine-setup generates there is brand new and Gitea has
|
||||||
|
# never seen it, so `--repo` was effectively mandatory on a first install. HTTPS needs
|
||||||
|
# no key and no agent, so the default now works on a blank box.
|
||||||
|
#
|
||||||
|
# If this ever goes private again, SSH is the answer and the constraint above is the
|
||||||
|
# reason — plus one more: the clone runs as the OWNER, and sudo drops SSH_AUTH_SOCK,
|
||||||
|
# so a passphrase-protected key has no agent to answer it.
|
||||||
|
OFFICER_REPO="${OFFICER_REPO:-https://gitea.officer.dev/officerdev/platform.git}"
|
||||||
|
|
||||||
platform_dir() { echo "${OFFICER_ROOT}/platform"; }
|
platform_dir() { echo "${OFFICER_ROOT}/platform"; }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user