github / github/gh-stack

Reordering a stack can cause PRs to be incorrectly marked as merged

未关闭
#411 1 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Go
星标
1.5k
派生
70
平均合并
1 天 8 小时
30 天内合并 PR
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.

贡献指南

打开贡献指南

调研方向

Start with the implementation behind `gh stack push`, then trace how reordered stack ancestry and existing PR bases are handled. Reproduce the `gh stack modify`, `gh stack push`, and `gh stack submit` sequence from the report; done means push safely synchronizes the remote stack or clearly directs users to submit, without PRs being incorrectly marked as merged.

由索引模型根据 Issue 内容生成。

评估

技术栈
github, go
领域
cli
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
活跃
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。