abhinav / abhinav/git-spice

Idea: Horizontal scopes

Open
#252 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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.
image

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.