main at some commit, and main has moved
since. The reviewer is reading code that will not be what ships, and the author has
to stop, rebase, resolve conflicts, and force-push, which throws out everyone’s
in-progress review. On a busy repository this happens constantly.
What Assert does
When the base branch moves ahead, Assert builds a merge candidate: the pull request already merged with the current tip of its base branch. If that merge conflicts, an agent resolves the conflicts in an isolated sandbox. The candidate’s state shows in the review header.
The Merge commit dropdown beside the pill sets how the pull request itself lands
on the base branch once it is approved — merge, squash, or rebase.
Reviewing the candidate
Opening the candidate gives you a file tree and diff for the merged result.
Promoting
Update branch with merge commit adds a merge commit to the pull request’s branch, bringing in the latest base branch. The branch you reviewed becomes the branch that merges, and nobody rebases locally. This is a merge commit, so history is never rewritten and nothing is force-pushed — if you have the branch checked out,git pull is enough.
Once promoted, Re-review separates the author’s new work
from the code the merge brought in.