github / github/gh-stack

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

Open
#411 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
1.5k
Forks
70
Avg merge
1d 8h
Merged PRs (30d)
7

Description

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

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, go
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.