Every stacked PR that sl pr submit creates gets a footer line:
Stack created with Sapling. Best reviewed with ReviewStack.
The reviewstack.dev URL and the tool name are hard-coded (eden/scm/sapling/ext/github/pull_request_body.py). That makes the link wrong or dead for:
Related: #158 (footer URLs pointing at the wrong place for fork-based submissions).
Today the only knob is github.pull-request-include-reviewstack=false, which removes the line entirely — all or nothing.
Proposal: two configs, with unset behavior byte-for-byte identical to today:
[github]
pull-request-review-url-template=https://review.example.com/{owner}/{repo}/pull/{number}
pull-request-review-tool-name=MyReview
The URL template would support {owner}, {repo}, {number}, and {hostname} placeholders. The sentence shape (including the leading "Stack created with [Sapling]") deliberately stays fixed so that parse_stack_information() (used by sl pr pull), ReviewStack's client-side parser, and legacy pre-marker PR bodies all keep parsing unchanged.
I have a PR ready implementing this and will attach it shortly.
Every stacked PR that
sl pr submitcreates gets a footer line:The reviewstack.dev URL and the tool name are hard-coded (
eden/scm/sapling/ext/github/pull_request_body.py). That makes the link wrong or dead for:eden/contrib/reviewstack/src/saplingStack.ts);Related: #158 (footer URLs pointing at the wrong place for fork-based submissions).
Today the only knob is
github.pull-request-include-reviewstack=false, which removes the line entirely — all or nothing.Proposal: two configs, with unset behavior byte-for-byte identical to today:
The URL template would support
{owner},{repo},{number}, and{hostname}placeholders. The sentence shape (including the leading "Stack created with [Sapling]") deliberately stays fixed so thatparse_stack_information()(used bysl pr pull), ReviewStack's client-side parser, and legacy pre-marker PR bodies all keep parsing unchanged.I have a PR ready implementing this and will attach it shortly.