From ef4d28d251450c8cb3ca747612952ecb3626af06 Mon Sep 17 00:00:00 2001 From: garrytan Date: Tue, 3 Nov 2026 02:14:22 +0000 Subject: [PATCH] changelog: say when the default-base order still reads the local origin/HEAD Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- changelog.d/capy-ship-preflight-lsremote-stop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/capy-ship-preflight-lsremote-stop.md b/changelog.d/capy-ship-preflight-lsremote-stop.md index d1e23ca38..cacd98b25 100644 --- a/changelog.d/capy-ship-preflight-lsremote-stop.md +++ b/changelog.d/capy-ship-preflight-lsremote-stop.md @@ -1,4 +1,4 @@ -**`gstack-ship-preflight` no longer guesses origin's default branch from a local ref.** Preflight fell back to the local `origin/HEAD` whenever `git ls-remote --symref origin HEAD` failed or named no branch. With no local `origin/HEAD`, it went on from the default branch itself and merged the given base into it. When a PR-branch clone's `origin/HEAD` named the feature branch, it refused that branch as "on the base branch". Now a failed `ls-remote` stops with `git ls-remote origin HEAD failed: …; restore access first` before anything merges. A remote HEAD that names no branch (a detached HEAD, or a server that sends no symref) falls back to the shared default-base order in `lib/default-base.ts` instead of the local ref. The default-branch check now runs after the fetch, so a failed fetch still reports the fetch. +**`gstack-ship-preflight` no longer trusts a local `origin/HEAD` when origin can't say its default branch.** Preflight fell back to the local `origin/HEAD` whenever `git ls-remote --symref origin HEAD` failed or named no branch. With no local `origin/HEAD`, it went on from the default branch itself and merged the given base into it. When a PR-branch clone's `origin/HEAD` named the feature branch, it refused that branch as "on the base branch". Now a failed `ls-remote` stops with `git ls-remote origin HEAD failed: …; restore access first` before anything merges. A remote HEAD that names no branch (a detached HEAD, or a server that sends no symref) falls back to the shared default-base order in `lib/default-base.ts`, which uses the local `origin/HEAD` only when it doesn't name the checked-out branch, its upstream or HEAD's commit. The default-branch check now runs after the fetch, so a failed fetch still reports the fetch. ### Fixed - **`docs/eval-calls.md`, `docs/eval-models.md`**: the default `--base` now matches base resolution: origin/HEAD's branch unless it names the checked-out branch, its upstream or HEAD's commit, then the PR's base, the remote's live HEAD, `main` or `master`.