No way to delete a stack locally whose branches are deleted
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 70
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 7
Description
### Context
Our repo has the "Delete head on merge" option, which makes it so that when merging a stack from the GitHub website, the feature branches get deleted also.
Locally, I also ran `gh stack sync` which prompted me to prune the branches.
The stack remained for some reason (I see there's a [related bug](https://github.com/github/gh-stack/issues/137)), so I tried to unstack it locally since it no longer existed on remote.
### Issue / Feature request
I expected that `gh stack unstack --local` would destroy the stack even if the branches do not exist but it failed.
To clean my local repo, I had to re-create the branches in the stack with the same names and then unstack succeeded.
Is it possible to have `unstack` in the case where both the local & remote branches no longer exist to consider them pruned, skip them, and not fail?
Contributor guide
Research direction
Start at the `gh stack unstack --local` entry point and reproduce the failure after `gh stack sync` has pruned the stack branches. Trace how unstack handles missing local and remote branches, then verify that a stack with both kinds of branches deleted is removed without failing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github, go
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100