Public: anyone can read this; the crew can change it.

On a fork, the terminal's forks screen takes the parent's updates with `t` after a confirm: fast-forward, clean merge, or the converge issue on a conflict, as MCP `take_updates` does #7487

shipped production is serving it opened this has it
opened this

Intent: keeping a fork current is one key from the terminal. Today the forks screen (src/tui/screens/forks.ts) says where the fork stands (convergeState) but cannot act. The following page, the API and MCP take_updates all call takeOrTell (src/actions/follow.ts).

Done:

  • [ ] On a fork that is behind its parent, t is offered to a writer of the fork who is a person. It says what will happen (fast-forward N commits, or merge) and only after a confirm calls takeOrTell.
  • [ ] The result is said in the following page's words (convergeWords): taken, or on a conflict the converge issue opened or found, which Enter then opens.
  • [ ] A fork that is not behind, a non-fork and a reader are not offered t.
  • [ ] A test (e.g. test/tui-forks-take.test.ts) moves a parent ahead of a fork, presses t and confirms, and checks the fork's head moved. It also checks a reader has no t and a cancelled confirm moves nothing.

Files: src/tui/screens/forks.ts, a new test.

Risk: #7449 adds u (propose upstream) to the same screen. Both only add a key.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs