Idea: Horizontal scopes
- Dominant language
- Go
- Stars
- 763
- Forks
- 72
- Avg merge
- 18h 24m
- Merged PRs (30d)
- 28
Description
Operations in git-spice have scopes: branch, upstack, downstack, and stack.
These can be visualized as vertical scopes.
This works quite well when the branches are stacked and their changes are inter-dependent.
A slightly more complicated scenario that I run into sometimes is this:
N > 1 branches that are not dependent on each other, but are closely related—to the same theme, for example.
E.g., a migration in a large repository separated into N independently mergeable changes all against the main branch.
```mermaid
flowchart BT
main --> Folder1 & Folder2 & Dots & Folder3
Dots["..."]
```
In such a set up, it would be quite useful to be able to perform at least submit and restack on all N branches together.
I haven't fully thought out the UX here, but I'm imagining a means of tagging branches with tags (or "theme"?), and perhaps being able to do `gs theme submit` or similar. Still need to think of naming and terminology here.
Contributor guide
Research direction
The issue describes adding a new 'horizontal' grouping concept (tags/themes) to complement existing vertical scopes. Start by examining the code for existing scopes (branch, upstack, downstack, stack) to understand the command structure and branch selection logic. Look for where operations like 'submit' and 'restack' are implemented to see how they iterate over branches. The goal is to design a tagging mechanism and extend those operations to work on tagged groups.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, go
- Domain
- cli, developer-experience
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100