Stacked pull requests without the rebase tax
How Trylle keeps a stack of dependent branches rebased, reviewable, and mergeable without a manual replay after every upstream change.
A stack is the natural shape of a large change. You split the work into a base refactor, a behaviour change, and the cleanup that only makes sense once the first two land. The problem was never the split. It was everything that happened after the base branch moved.
The cost shows up after review
Every upstream merge invalidates the branches above it. Someone rebases the stack by hand, force-pushes each branch, and then re-requests review because the diffs shifted. Reviewers lose their place, comments detach from lines, and CI starts again from zero.
What we changed
Trylle tracks the parent relationship as a property of the pull request rather than something you rebuild from reflog. When the base merges, the rest of the stack is replayed in order, comments stay anchored to the ranges they were written against, and only the branches whose content actually changed re-run their checks.
The result is a stack you can leave open for a week without paying for it every morning.