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

A conflict low in a stack blocks merging PRs above it, even when they merge cleanly

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

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
github, go
Domain
cli

Research direction

Start by tracing how gh-stack determines whether stacked pull requests can merge and how it handles branches intended for staging deployment. Define the desired behavior for a conflict-free pull request above a conflicting one, including how its merge readiness and deployment path should be represented. Done means higher pull requests can progress independently without incorrectly bypassing their dependencies.

Written by the indexing model from the issue text.

Description

The problem

Say main ← PR1 ← PR2. PR1 has merge conflicts against main and can't be merged. PR2 against PR1 is completely fine — no conflicts at all.

Merging is all-or-nothing for the whole chain up to main: if any PR in the stack can't be merged, none of them are. So even though PR2's changes are ready and conflict-free relative to PR1, there's no way to merge it — it's stuck behind PR1's unrelated conflict with main.

Impact

A single conflict low in a stack blocks everything built on top of it, even work that's fully ready and has nothing to do with that conflict. Teams end up stuck waiting on someone to resolve the bottom PR's conflict before any of the PRs above it can move forward, with no way to make progress on the parts that are actually ready.

This also blocks deploying feature branches to a staging environment for testing — a common practice at many companies. In this scenario, the feature branch is PR1's branch (the one with the conflict against main): deploying it to staging means merging it, and that merge is exactly what's blocked, so the branch can't be deployed until the unrelated conflict is resolved.

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.