github / github/gh-stack

Can't merge a stacked PR with no clear reason (all PRs show mergeable)

Abierto
#323 27 comentarios 84 reacciones 0 asignados Ver en GitHub
bug topic: merge
Lenguaje dominante
Go
Estrellas
1.5k
Forks
70
Merge medio
1 d 8 h
PR fusionados (30 d)
7

Descripción

## Environment
- develop branch are protected by a repository ruleset with:
- require_last_push_approval: true
- dismiss_stale_reviews_on_push: true
- required status checks
- No merge queue.

## Reproduction

1. Create a 3-level stack: develop <- A <- B <- C.
2. Approve every PR after its latest push. All three show MERGEABLE / CLEAN / APPROVED, all checks green.
3. On the top PR (C), the native GitHub "Merge stack (3)" box shows "Able to merge as a stack". Click it (merge method: Create
a merge commit) and confirm.

## Expected

All three PRs merge into develop, or the operation stops before anything merges.

## Actual

- UI shows "Merging stack… / 3 pull requests are being merged" briefly, then rolls back to "Able to merge as a stack". Nothing
merges.
- The PR event log records repeated auto-merge was automatically disabled — "Pull Request is not mergeable".

(In the image, the bottom PR has been merged, but the behavior remains the same even if it is not merged.)
Image
Image
Image

## Notes

- Root cause not confirmed — the above are observed events only. One hypothesis is that merging the bottom PR moves the
merge-base of the PR above it, invalidating its latest-push approval, but this has not been verified.
- Reproduces without a merge queue, which differs from #174 (scoped to merge-queue branches, describes a hang rather than a
rollback). Filing separately because the trigger and symptom differ; feel free to consolidate into #174 if preferred.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start with the documented three-level stack reproduction and inspect the PR event log while comparing each PR's mergeability, approvals, and required checks. Read the distinction from #174 and investigate whether the latest-push approval changes as lower PRs merge. Done means the rollback cause is identified and the all-or-nothing stack-merge behavior is verified.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github, go
Área
cli, devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.