Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Stack should be merged when merge commit is already pushed

Open
#457 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

Research direction

Trace the existing gh stack sync entry point and the logic that determines whether stacked PRs are merged. Compare its base handling with the manually pushed merge-commit scenario described here. Done means all PRs in the stack are recognized as merged and closed when the stack's base contains their changes.

Written by the indexing model from the issue text.

Description

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

Dominant language
Go
Stars
1.5k
Forks
73
Avg merge
1d 8h
Merged PRs (30d)
7

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from github/gh-stack

All issues in github/gh-stack

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.