github / github/gh-stack

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

Aberta
#323 27 comentários 84 reações 0 responsáveis Ver no GitHub
bug topic: merge
Linguagem predominante
Go
Estrelas
1.5k
Forks
70
Merge médio
1d 8h
PRs com merge (30d)
7

Descrição

## 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.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
github, go
Domínio
cli, devtools
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Ativa
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.