dev.py pr: default --base from Graphite parent metadata when the branch is gt-tracked nf-hd9g ← Beads

closed priority 2 task unassigned

Twinned from https://github.com/cfsh/ninefold/issues/867 by tools/beads/import_github.py's reconcile pass.

notes/graphite.md (#864) prescribes opening stacked PRs with:

./dev.py pr --base "$(gt parent)" -F body.md

The --base is boilerplate: for a gt-tracked branch the parent is already recorded in gt's metadata (git refs under the clone; \gt parent\ prints it). \plan_pr\ could read it when the current branch is gt-tracked and no --base was passed, so the child invocation collapses to the same \`./dev.py pr -F body.md\` as the bottom one — and a dev who forgets --base no longer opens a child against main carrying the whole stack's diff, which is the actual failure mode today (the printed plan shows it, if you read it).

Sketch: shell out to \gt parent --no-interactive\ (or read refs/branch-metadata/<branch>), fall back to TRUNK when untracked or gt is absent. The printed plan already names the base, so behaviour stays visible.

Found while building the graphite adoption stack (#864#866). Unclaimed.

Dependencies

None.

Comments

No comments.

Add a comment