Update an open PR with its target branch (u: merge or rebase) #118

Closed
opened 2026-10-10 07:21:10 -05:00 by deadstyle · 1 comment
Owner

Problem

PM: "we are missing the option to merge in or rebase the latest into an open MR/PR." When the target branch has moved on, there's no way to bring the PR up to date from lazyforge.

Acceptance criteria (PM, 2026-10-10)

  • u on an open PR (PR box, its details, ★ Renovate PR rows) opens a small dialog asking how to update it with the latest target branch: merge or rebase.
  • On GitHub the dialog offers merge only (its API has no rebase update).
  • Confirming updates the PR on the forge, shows the outcome in the status bar, and refreshes the PR so CI state reflects the new head.
  • A failure (conflict, no permission, already up to date) shows the forge's reason in the status bar.
  • u is only enabled where the user can push/merge to the repo, and appears in hints/help there.
  • design.md keymap table gains u.

Context

  • Forgejo/Gitea: POST /repos/{owner}/{repo}/pulls/{index}/update?style=merge|rebase (confirmed in git.bobparsons.dev swagger).
  • GitHub: PUT /repos/{owner}/{repo}/pulls/{n}/update-branch (merge only).
  • Needs a new Forge capability/action (engineering lead's call on shape) and a dialog modelled on the merge dialog in internal/ui.

Out of scope

  • Bulk update of marked PRs.
## Problem PM: "we are missing the option to merge in or rebase the latest into an open MR/PR." When the target branch has moved on, there's no way to bring the PR up to date from lazyforge. ## Acceptance criteria (PM, 2026-10-10) - `u` on an open PR (PR box, its details, ★ Renovate PR rows) opens a small dialog asking how to update it with the latest target branch: **merge** or **rebase**. - On GitHub the dialog offers merge only (its API has no rebase update). - Confirming updates the PR on the forge, shows the outcome in the status bar, and refreshes the PR so CI state reflects the new head. - A failure (conflict, no permission, already up to date) shows the forge's reason in the status bar. - `u` is only enabled where the user can push/merge to the repo, and appears in hints/help there. - design.md keymap table gains `u`. ## Context - Forgejo/Gitea: `POST /repos/{owner}/{repo}/pulls/{index}/update?style=merge|rebase` (confirmed in git.bobparsons.dev swagger). - GitHub: `PUT /repos/{owner}/{repo}/pulls/{n}/update-branch` (merge only). - Needs a new `Forge` capability/action (engineering lead's call on shape) and a dialog modelled on the merge dialog in `internal/ui`. ## Out of scope - Bulk update of marked PRs.
Author
Owner

🤖 merged: #121

🤖 merged: https://git.bobparsons.dev/deadstyle/lazyforge/pulls/121
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
deadstyle/lazyforge#118
No description provided.