Reordering a stack can cause PRs to be incorrectly marked as merged
- 主要言語
- Go
- スター
- 1.5k
- フォーク
- 70
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 7
説明
## Problem
After reordering a published stack, I ran:
```bash
gh stack modify
gh stack push
gh stack submit
```
`gh stack push` updated the branch ancestry without updating the existing PR bases. Some PRs then targeted descendant branches that already contained their commits.
GitHub saw empty diffs and automatically marked those PRs as merged, although their commits were never merged into `main`. The PRs could not be reopened and had to be recreated with new branch names.
## Version
`gh stack version 0.0.8`
## Expected behavior
I expected `gh stack push` either
- to update the remote stack to match the reordered local stack,
- or to fail and tell me to use `gh stack submit` for this operation.
コントリビューションガイド
調査の方向性
`gh stack push` の実装から始め、並べ替えられた stack の祖先関係と既存の PR base がどのように処理されるかを追跡します。報告にある `gh stack modify`、`gh stack push`、`gh stack submit` の手順を再現してください。push によってリモート stack が安全に同期されるか、ユーザーに submit を実行するよう明確に案内され、PR が誤って merged としてマークされなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github, go
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100