landing: apply patches at their base and rebase for a 3-way merge (Bug 2047605) #1253 (lando@main)
| Warnings |
|
|---|---|
| Blockers |
|
| Branches | 3way-merge -> main |
| Repo | lando@main (git) (git://github.com/cgsheeh/lando.git) |
| Author | cgsheeh |
| State | closed |
| Commit Title | landing: apply patches at their base and rebase for a 3-way merge (Bug 2047605) |
| Commit Body | Lando applied patches with a 2-way `git apply`, which fails when the surrounding context shifted even from an unrelated edit. Track the diff's base revision from Phabricator's `differential.diff.search` and, when that commit exists in the target repo, apply the stack onto it and rebase onto the target branch for a true 3-way merge. Fall back to applying at the tip when the base is unavailable, and skip rebasing entirely when `target_commit_hash` pins the target. Post-rebase commit hashes are recorded on each revision, and rebase conflicts are captured and surfaced through the existing merge-conflict error breakdown. |
Landings
Successfully landed
Landing requested on , by cosheehan@mozilla.com.
Landing Job: 58991