`gh stack view` silently ignores positional arguments, including a valid different stack number
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 58/100
Piste de recherche
Commencez par l’analyse des arguments de la commande gh stack view et reproduisez les deux commandes de l’issue, y compris leur code de sortie et leur sortie. Vérifiez comment gh stack checkout gère un numéro de stack, puis ajoutez des tests pour les arguments positionnels valides et invalides. Le travail est terminé lorsque la commande ne les ignore plus silencieusement : elle doit soit les rejeter clairement, soit prendre en charge de manière cohérente la sélection d’un stack.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
gh stack view accepts no positional argument, but supplying one is silently discarded instead of rejected. The harmful case is passing a valid stack number that isn't the current one — you get a different stack's contents, with that stack's number in the header, and no indication your argument was ignored.
On a branch belonging to stack #6, asking for stack #3 (which exists):
$ gh stack view --short 3
Stack #6 <-- rendered #6, not the #3 that was requested
├ stack-b-two ○ #5
» stack-b-one ○ #4 (current)
└ main
$ gh stack view --short garbage999
Stack #6 <-- also silently succeeds
├ stack-b-two ○ #5
» stack-b-one ○ #4 (current)
└ main
Exit status is 0 in both cases.
Why this matters
The output carries a stack number in its header, so it reads as authoritative. Anyone comparing two stacks — or scripting against view — can act on the wrong one without any signal. It is also a natural mistake to make, because gh stack checkout does take a stack number, so the two commands look like they share a selector.
Reproduction
In a repo with two stacks:
git switch <a-branch-in-stack-B>
gh stack view --short <stack-A-number> # shows stack B
gh stack view --short garbage999 # shows stack B
Public repo with two stacks set up for this: https://github.com/xn/gh-stack-repro
Expected
Either error with unknown argument "3" (the usual gh behaviour for unexpected positionals), or accept a stack selector here the way gh stack checkout does. The latter would also give a non-interactive escape hatch for the ambiguity in #415.
Environment
gh2.97.0gh-stackv0.1.0- git 2.50.1
- macOS 26.4.1, darwin/arm64
- Langage dominant
- Go
- Étoiles
- 1.5k
- Forks
- 73
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 7
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/gh-stack
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
-
feature request topic: cli - general
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
feature request topic: auto-merge
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
bug topic: docs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
Toutes les issues de github/gh-stack
Issues similaires
-
textual definition
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
geneontology/go-ontology#32653 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
-
needs design
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Priority/High ready-for-agent Severity/Major Type/Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100