Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#509 0 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
65/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
git, github, go
Domínio
api, cli

Direção de pesquisa

Comece pelo ponto de entrada gh stack submit e rastreie a resolução do repositório, incluindo gh-stack.remote e o repositório padrão configurado, até a chamada GraphQL createPullRequest. Reproduza com a configuração do fork e GH_DEBUG=1. Está concluído quando a criação de PRs empilhados tiver como destino o fork ou oferecer suporte explícito ao repositório head pretendido, sem os erros de SHA em branco.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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
Linguagem predominante
Go
Estrelas
1.6k
Forks
78
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de github/gh-stack

Todas as issues de github/gh-stack

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.