abhinav / abhinav/git-spice

Native GitHub stacks support

Aperta
#1,388 1 commento 40 reazioni 1 assegnatario Rivendicata da @abhinav Vedi su GitHub
area/forge enhancement
Lingua principale
Go
Stelle
762
Fork
72
Merge medio
18h 24m
PR unite (30g)
28

Descrizione

https://docs.github.com/en/pull-requests/how-tos/stacked-pull-requests is public.
There are APIs that we can take advantage of.

From a quick read: stacks must be "created", and PRs must be added to them.
Stacks are only allowed to be linear, i.e. A -> B -> C, and A -> B -> D cannot coexist.

Immediate thoughts:

- `submit` operations will want to auto-manage stack resources. When a stack is linear, auto-add to stack.
When a stack becomes non-linear, choose the longest path to keep stacked per GitHub,
If there is ambiguity (multiple equally long paths), tie-break using some deterministic criteria (earliest PR number?).
- at `merge` time, if a run of branches is part of the same stack, merge them atomically with GitHub
- `merge` may want to unconditionally switch to GitHub's async merge API going forward

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.