No non-interactive way to select a stack when the branch belongs to several (e.g. the trunk)
- 主要言語
- Go
- スター
- 1.5k
- フォーク
- 70
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 7
説明
## Summary
When the current branch belongs to more than one stack — most commonly the trunk, which is the base of every stack in the repo — `gh stack view` fails and offers no non-interactive way out:
```
$ gh stack view --short
✗ branch "main" belongs to multiple stacks; use an interactive terminal to select one
```
There is no `--stack` flag. Combined with `gh stack view` silently discarding positional arguments (#414), there is currently **no way at all** to view a specific stack non-interactively.
## Why this matters
Two stacks off a shared trunk is the normal state for anyone working on more than one change at a time, not an edge case — and `main` is in that position permanently, so any script or agent that starts from the default branch hits this immediately.
"Use an interactive terminal" is not available in CI, in a shell script, or to an automated agent. The only workaround is to `gh stack checkout ` first purely to move onto a branch in the desired stack, which mutates the working tree just to perform a read.
## Reproduction
```bash
# create two stacks that both base off main
git switch main
gh stack view --short # -> "belongs to multiple stacks; use an interactive terminal"
```
Public repo with two stacks off a shared `main`: https://github.com/xn/gh-stack-repro
## Expected
A `--stack ` flag on `view` (and anywhere else this ambiguity can arise), so the stack can be named explicitly without changing the checked-out branch.
## Environment
- `gh` 2.97.0
- `gh-stack` v0.1.0
- git 2.50.1
- macOS 26.4.1, darwin/arm64
コントリビューションガイド
調査の方向性
Start at the `gh stack view` entry point and trace how it handles multiple stacks, interactive selection, and the discarded positional argument; compare this with the existing `gh stack checkout ` selection behavior. Done means `gh stack view --stack ` can select a stack from a shared branch without changing the checked-out branch, including the reproduced `main` scenario.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- go
- 領域
- cli
- issue の種類
- 機能追加
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 64/100