github / github/gh-stack

Stack should be merged when merge commit is already pushed

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

Descrição

## Reproduce step

Let's say you have this stacked PRs.

```
main <- PR#1 <- PR#2 <- PR#3
```

Now, you manually create merge commit and push it to the `main`.

```
prv_main <- PR#1 <- PR#2 <- PR#3
\---------------------+-------new_main
```

## Current Behavior

- `PR#1` is closed, because it's base is `main`, and GitHub automatically closes already merged PRs.
- `PR#2` and `PR#3` are **NOT closed**, because their bases aren't `main` (they point to previous PR's tip), so they still have diff remaining, and PR isn't closed.

## Expected Behavior

- All PRs should be closed.

## How to fix this

Stacked PR should check it's mergeability against the whole stack's base (e.g. `main` in this case).

Basically the whole point of stacked PR is that "your PR is pointing to another PR, but they are treated as pointing to base".

## Why this should be fixed

1. These PRs are shown as "open PRs" while they are already merged.
2. This will help 3rd-party integrations -- e.g. [bors](https://bors.tech/index.html) manually creates octopus merge commit of PRs and push it to main.

I know that you can manually `gh stack sync`, but I think this should be done automatically.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Rastreie o entry point existente `gh stack sync` e a lógica que determina se os PRs empilhados foram mesclados. Compare o tratamento da base com o cenário de merge commit enviado manualmente descrito aqui. Considera-se concluído quando todos os PRs da stack são reconhecidos como mesclados e fechados quando a base da stack contém suas alterações.

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

Avaliação

Stack de tecnologia
git, 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
58/100

Receba novas issues na sua caixa de entrada

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