You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6a252d2
Browse filesBrowse the repository at this point in the historyBrowse files
Codex second-opinion findings on the wave diff, both in garrytan#1815's
bin/gstack-merge:
- P1: the rebase-null edge recorded origin/<base> tip as the landed SHA,
which can belong to a LATER change — deploy-matching and reverts could
target the wrong commit. Now resolves the rebased commit by patch-id
among the 50 newest base commits; when no unique match exists, the
state records sha_exact:false, read-state emits LAND_SHA_EXACT=0, and
land-and-deploy refuses SHA-based deploy-matching and reverts.
- P2: landing state read/wrote ~/.gstack unconditionally; now honors
GSTACK_HOME like every other gstack state tool.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
these. `LAND_SHA` is the merge commit on the base branch — every deploy-workflow match and
1242
+
any revert uses it. **If `LAND_SHA_EXACT=0`** the SHA is only the base tip at landing time
1243
+
(rebase merge whose exact commit couldn't be resolved): still verify ancestry in 2.2, but do
1244
+
NOT match deploy workflows by this SHA (match by workflow name + timing instead) and do NOT
1245
+
offer a SHA-based revert — tell the user to identify the PR's commit manually first.
1243
1246
1244
1247
### 2.2: Verify the SHA is really on the base branch (H2)
1245
1248
@@ -1513,6 +1516,9 @@ If the user chose to revert at any point:
1513
1516
Tell the user: "Reverting the merge now. This will create a new commit that undoes all the changes from this PR. The previous version of your site will be restored once the revert deploys."
1514
1517
1515
1518
Use `LAND_SHA` (the confirmed merge commit from Step 2) as the revert target.
1519
+
**If `LAND_SHA_EXACT=0`: STOP first** — the recorded SHA is only the base tip at landing
1520
+
time and may belong to a different change. Show the user `git log origin/<base> --oneline -10`,
1521
+
have them confirm which commit is this PR's, and revert that commit instead.
1516
1522
1517
1523
**Merge-queue / protected branches first (H8).** If `LAND_REGIME` is `github` or `trunk`,
1518
1524
a direct push to the base branch is almost always blocked by branch protection, so go
these.`LAND_SHA` is the merge commit on the base branch — every deploy-workflow match and
343
+
any revert uses it. **If `LAND_SHA_EXACT=0`** the SHA is only the base tip at landing time
344
+
(rebase merge whose exact commit couldn't be resolved): still verify ancestry in 2.2, but do
345
+
NOT match deploy workflows by this SHA (match by workflow name + timing instead) and do NOT
346
+
offer a SHA-based revert — tell the user to identify the PR's commit manually first.
344
347
345
348
### 2.2: Verify the SHA is really on the base branch (H2)
346
349
@@ -581,6 +584,9 @@ If the user chose to revert at any point:
581
584
Tell the user: "Reverting the merge now. This will create a new commit that undoes all the changes from this PR. The previous version of your site will be restored once the revert deploys."
582
585
583
586
Use `LAND_SHA` (the confirmed merge commit from Step 2) as the revert target.
587
+
**If `LAND_SHA_EXACT=0`: STOP first** — the recorded SHA is only the base tip at landing
588
+
time and may belong to a different change. Show the user `git log origin/<base> --oneline -10`,
589
+
have them confirm which commit is this PR's, and revert that commit instead.
584
590
585
591
**Merge-queue / protected branches first (H8).** If `LAND_REGIME` is `github`or`trunk`,
586
592
a direct push to the base branch is almost always blocked by branch protection, so go
0 commit comments