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

The take pull's description lists the parent's new commits, and is rewritten when the parent moves again #2656

shipped production is serving it opened this has it
opened this

Follows #2634 → #2649 (on main). The take pull that takeFromParent (src/spawn/take.ts) opens says only "N new commits from <upstream>". The person who merges it has to dig to see what they are taking. The tell-me card already lists them through newestCommits in src/spawn/upstream.ts (#2646).

Done looks like:

  • [ ] newestCommits moves to one place both modules import (e.g. exported from src/spawn/take.ts). It is unchanged in behaviour: up to 10 commits newest first, short sha, subject cut at 100 characters, and "and N more".
  • [ ] The take pull's body carries that list under its first line. When the parent moves again and the same open pull is updated (the live branch in takeFromParent), its body is rewritten with the new count and list. A pull a person has edited by hand is left alone: compare it with the body the forge last wrote.
  • [ ] Subjects are the parent's text and stay inert where the pull body renders (a test with <script> and ](javascript: subjects).
  • [ ] Tests with the local bare-repository fixtures the take tests already use: a 3-commit take lists 3, a later fetch with 2 more rewrites the body to list 5, a hand-edited body is kept, and the tell-me card still lists its commits.
  • [ ] Run bun x tsc --noEmit and the take, upstream and spawn-chain tests. Name every new test file in GATE in scripts/gate.ts.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs