Skip to content

feat(fork-stack): auto-rebase open feature PRs + smart local pull#50

Merged
patroza merged 1 commit into
fork/changesfrom
t3-discord/10aca0a2-pr-auto-rebase
Jul 25, 2026
Merged

feat(fork-stack): auto-rebase open feature PRs + smart local pull#50
patroza merged 1 commit into
fork/changesfrom
t3-discord/10aca0a2-pr-auto-rebase

Conversation

@omegent-app

@omegent-app omegent-app Bot commented Jul 25, 2026

Copy link
Copy Markdown

Summary

  • Automatic: when the stack workflow rewrites fork/changes, also force-with-lease rebase every open feature PR that targets it (conflicts are skipped + reported in the job summary).
  • Local checkouts: pnpm fork:stack pull fetches the remote tip and uses git cherry patch-ids — hard-reset when local commits are equivalent to the rebased remote; only rebase when you have unique unpushed work.
  • Agents: pnpm fork:stack update --push keeps feature PRs based on fork/changes (rebase / replay / retarget wrong bases). Docs + AGENTS updated so PRs are not opened against the upstream main mirror.
  • Fix gh --json parsing under agent FORCE_COLOR hosts.

Test plan

  • vp test run scripts/fork-stack.test.ts scripts/rebase-pr-stack.test.ts (29 passed)
  • After merge, next stack sync should list open feature PR rebases in the Actions summary
  • On a feature branch after a remote force-push: pnpm fork:stack pull resets cleanly when no unique local patches
  • With a unique local commit: pnpm fork:stack pull rebases it onto remote

When the stack rewrites fork/changes, also force-with-lease rebase every
open PR that targets it (conflicts are skipped and summarized).

Add `pnpm fork:stack pull` for local checkouts after remote rewrites:
hard-reset when local commits are patch-equivalent to remote, otherwise
rebase unique unpushed work. Fix gh --json parsing under FORCE_COLOR.
@patroza
patroza merged commit 018206c into fork/changes Jul 25, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant