gh stack sync reports success after its atomic push fails
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 70/100
Rechercherichtung
Beginne beim Befehl gh stack sync und verfolge das Ergebnis des atomaren Branch-Pushs. Stelle sicher, dass ein fehlgeschlagener Push die PR-Synchronisierung stoppt, die Bestätigung Branches synced ausbleibt und einen von null verschiedenen Rückgabewert liefert; füge Testabdeckung für den reproduzierten Rebase-Fall mit drei PRs hinzu oder aktualisiere sie.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Reproduction
Start with an existing three-PR stack whose local branches were rebased and therefore require force pushes, then run:
$ gh stack sync --remote origin
✓ Fetched latest dev from origin
✓ Trunk dev is already up to date
Pushing 3 branches to origin...
⚠ Push failed — branches may need force push after rebase
Run `gh stack push` to push with --force-with-lease.
Syncing PRs ...
✓ PR #4440 (...) — Open
✓ PR #4441 (...) — Open
✓ PR #4444 (...) — Open
⚠ Cannot create stack: Pull requests must form a stack, where each PR's base ref is the previous PR's head ref
Each PR's base branch must match the previous PR's head branch.
✓ Branches synced
Stacked on dev (a80f5ad)
$ echo $?
0
All three remote branch SHAs remained unchanged. The local stack was therefore not published, but sync continued into PR synchronization, printed a success receipt, and exited zero.
Expected
gh stack sync exits nonzero immediately when its atomic branch push fails. It does not attempt PR synchronization or print Branches synced, because the remote stack cannot match local state until the branch refs are updated.
Environment
gh-stackv0.1.0gh2.96.0- git 2.50.1
- macOS arm64
Related
#346 covers suppressed git-hook output during gh stack push. This report is about sync swallowing the failed-push status and returning a false success.
- Vorherrschende Sprache
- Go
- Sterne
- 1.5k
- Forks
- 73
- Ø Merge
- 1 T. 8 Std.
- Gemergte PRs (30 T.)
- 7
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/gh-stack
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
-
feature request topic: cli - general
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
feature request topic: auto-merge
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
bug topic: docs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
Alle Issues in github/gh-stack
Ähnliche Issues
-
textual definition
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
geneontology/go-ontology#32653 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
-
needs design
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Priority/High ready-for-agent Severity/Major Type/Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100