github / github/gh-stack

gh stack sync reports success after its atomic push fails

Aperta
#417 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug topic: cli - sync
Lingua principale
Go
Stelle
1.5k
Fork
70
Merge medio
1g 8h
PR unite (30g)
7

Descrizione

## Reproduction

Start with an existing three-PR stack whose local branches were rebased and therefore require force pushes, then run:

```console
$ 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-stack` v0.1.0
- `gh` 2.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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Parti dal comando `gh stack sync` e traccia il risultato del push atomico del branch. Verifica che un push fallito interrompa la sincronizzazione delle PR, eviti la conferma `Branches synced` e restituisca un valore diverso da zero; aggiungi o aggiorna la coverage per il caso riprodotto di rebase con tre PR.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
git, github, go
Ambito
cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
70/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.