Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

unstack shows a generic/incorrect error instead of the real API rejection reason

Aperta
#372 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
67/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github, go
Ambito
api, cli

Direzione di ricerca

Inizia riproducendo gh stack unstack <number> su uno stack con pull request unite e confronta l’output normale con GH_DEBUG=api. Segui la gestione degli errori di unstack e la risposta 422 della REST API; il lavoro è completato quando l’output non di debug riporta il motivo effettivo del rifiuto invece del messaggio non pertinente queued-for-merge.

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

Descrizione

bug topic: stack management

Summary

gh stack unstack <number> fails on a stack containing merged PRs, but the plain (non-debug) error message names an unrelated cause. The actual server-side reason is only visible with GH_DEBUG=api.

Repro

  1. Create a stack with gh stack link (or submit), e.g. main <- a <- b <- c <- d <- e.
  2. Merge a and b (via merge queue or a normal merge — doesn't matter which).
  3. Run gh stack unstack <number> on that stack.

Actual

⚠ Some pull requests are queued for merge or have auto-merge enabled and remain stacked on GitHub
The stack was left in place — local tracking is unchanged

I verified via gh api graphql that none of the stack's PRs had autoMergeRequest set or a mergeQueueEntry — so the stated reason doesn't match reality.

Running the identical command with GH_DEBUG=api gh stack unstack <number> shows the real HTTP exchange:

POST /repos/{owner}/{repo}/stacks/{id}/unstack
< HTTP/2.0 422 Unprocessable Entity
{
  "message": "Pull requests #.. , #.. cannot be removed from this stack",
  "documentation_url": "https://docs.github.com/rest/pulls/stacks#remove-pull-requests-from-a-pull-request-stack",
  "status": "422"
}

Interestingly, in the GH_DEBUG=api run the CLI's own final stderr line correctly echoed this specific message (✗ Unstacking not allowed: Pull requests #.., #.. cannot be removed from this stack) — a materially different, and accurate, explanation compared to the generic message shown without debug logging.

Expected

The non-debug error message should reflect the actual REST API rejection (a stack can't be unstacked once any of its PRs have merged), not a generic, unrelated "queued for merge / auto-merge enabled" message.

Environment

gh-stack version 0.0.8, installed via gh extension install github/gh-stack.

Lingua principale
Go
Stelle
1.5k
Fork
73
Merge medio
1g 8h
PR unite (30g)
7

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di github/gh-stack

Tutte le issue di github/gh-stack

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.