Tracker: implicit current-ref command and API surface #389
Labels
No labels
bug
documentation
duplicate
enhancement
fugitive
good first issue
help wanted
invalid
question
v0.1.0
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
barrettruth/forge.nvim#389
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Forge currently exposes three overlapping models for the same workflows:
family verbplus textual target modifiers likerepo=andhead=prs.openandci.current_branch{ num, scope }or splithead_branch/head_scopeinputsThe common "current PR for the current branch" flow is not a first-class public concept, even though the backend primitive already exists. That leaves important workflows discoverable only through overloaded commands such as
:Forge pr create.Proposed solution
Adopt an implicit current-ref model for the common case and keep explicit targeting for ambiguity:
:Forge pr-> current branch PR:Forge review-> current branch PR through the configured adapter:Forge pr ci-> current branch PR checks:Forge ci-> current-branch CI history, not PR checksUnder the hood, add a shared resolver layer that maps current branch context (or explicit
repo=/head=input) onto a unique PR when possible. Then align the high-level Lua API with the same semantics.Resolver policy
{ head_scope, head_branch }, not branch name alonerepo=orhead=Ordered breakdown
:Forge pr createstrictly create-onlyAlternatives considered
Keep the current mixed surface and only improve messages, or make
:Forge cisilently prefer PR checks. Both leave the public model inconsistent across forges.