Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

`gh stack submit` fails on forks by attempting to create PRs on upstream repository (`Head sha can't be blank`)

Offen
#509 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
65/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
git, github, go
Bereich
api, cli

Rechercherichtung

Beginne beim Einstiegspunkt gh stack submit und verfolge die Repository-Auflösung, einschließlich gh-stack.remote und des konfigurierten Standard-Repositorys, bis zum GraphQL-Aufruf createPullRequest. Reproduziere das Problem mit dem Fork-Setup und GH_DEBUG=1. Als abgeschlossen gilt die Aufgabe, wenn die Erstellung gestapelter PRs auf den Fork abzielt oder das vorgesehene Head-Repository explizit unterstützt, ohne die Fehler mit leeren SHAs.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

When using gh stack submit on a repository cloned from a fork, the command attempts to query and submit the stack against the upstream parent repository instead of the fork (or specified default repository).

Since the feature branches only exist on the fork (origin), GitHub's GraphQL API rejects the PR creation because the branches do not exist on the target upstream repository, resulting in Head sha can't be blank / Base sha can't be blank.

Executing gh repo set-default <fork-owner>/<repo> does not alter this behavior.

Environment
  • OS: Windows 11 (Git Bash / MINGW64)
  • gh version: gh version 2.100.0 (2026-09-03)
  • gh stack extension version: github/gh-stack v0.1.1
Repository Setup
Steps to Reproduce
  1. Clone a fork repository that has an upstream remote configured.
  2. Create stacked branches locally and push them to origin:
    a. main -> feature/branch-1 -> feature/branch-2
  3. Set the default repository using gh repo set-default Hakzai/pokerpulsepro-tauri.
  4. Run gh stack submit.
Expected Behavior

gh stack submit should resolve stacked PRs against the configured default repository (Hakzai/pokerpulsepro-tauri) or provide cross-repository fork support by specifying the head branch owner/ref.

Actual Behavior

The command targets davidelvar/pokerpulsepro-tauri and fails with:

⚠ failed to create PR for feature/add-brazil-real-currency: creating PR: GraphQL: Head sha can't be blank, Base sha can't be blank, No commits between main and feature/add-brazil-real-currency, Head ref must be a branch (createPullRequest)
Debug Output (GH_DEBUG=1 gh stack submit)

Relevant log excerpts showing API requests targeting the upstream repo instead of the fork:

* Request to https://api.github.com/repos/davidelvar/pokerpulsepro-tauri/stacks?per_page=100&page=1
...
[git.exe push origin --force-with-lease=refs/heads/feature/add-brazil-real-currency:... refs/heads/feature/add-brazil-real-currency:refs/heads/feature/add-brazil-real-currency]
* Request to https://api.github.com/graphql
⚠ failed to create PR for feature/add-brazil-real-currency: creating PR: GraphQL: Head sha can't be blank, Base sha can't be blank, No commits between main and feature/add-brazil-real-currency, Head ref must be a branch (createPullRequest)
Git Config

Git config is pointing correctly the upstream to davidelvar/pokerpulsepro-tauri and the origin to the fork at Hakzai/pokerpulsepro-tauri.

submodule.active=.
remote.origin.url=https://github.com/Hakzai/pokerpulsepro-tauri.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.gh-resolved=base
branch.main.remote=origin
branch.main.merge=refs/heads/main
branch.main.vscode-merge-base=origin/main
lfs.repositoryformatversion=0
remote.upstream.url=https://github.com/davidelvar/pokerpulsepro-tauri.git
remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
...
branch.feature/full-backup-impl.vscode-merge-base=origin/main
branch.feature/full-backup-impl.remote=origin
branch.feature/full-backup-impl.merge=refs/heads/feature/full-backup-impl
branch.feature/add-brazil-real-currency.vscode-merge-base=origin/main
branch.feature/add-brazil-real-currency.remote=origin
branch.feature/add-brazil-real-currency.merge=refs/heads/feature/add-brazil-real-currency
branch.feature/create-winners-board.vscode-merge-base=origin/main
branch.feature/create-winners-board.remote=origin
branch.feature/create-winners-board.merge=refs/heads/feature/create-winners-board
branch.bugfix/prize-tab-not-showing-champion.vscode-merge-base=origin/main
branch.bugfix/prize-tab-not-showing-champion.remote=origin
branch.bugfix/prize-tab-not-showing-champion.merge=refs/heads/bugfix/prize-tab-not-showing-champion
branch.chore/deploy-to-github-pages.vscode-merge-base=origin/main
branch.chore/deploy-to-github-pages.remote=origin
branch.chore/deploy-to-github-pages.merge=refs/heads/chore/deploy-to-github-pages
rerere.enabled=true
rerere.autoupdate=true
gh-stack.remote=origin
Vorherrschende Sprache
Go
Sterne
1.5k
Forks
73
Ø Merge
13 Std. 24 Min.
Gemergte PRs (30 T.)
3

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus github/gh-stack

Alle Issues in github/gh-stack

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.