Patch files flagged for conflict resolution in most cases will end up
committed by `brockit` in a "Conflict-Resolved" change. These
"Conflict-Resolved" commits tend to occur daily with brockit, and they
eventually get squashed when calling `rebase --squash-minor-bumps`. The
issue this PR solves, is that when a patch is added/changed during the
`cr` development cycle, that patch may end up becoming a conflict
resolution candidate, and added to a "Conflict-Resolved" commit, which
will eventually be picked up with `rebase --squash-minor-bumps` for
squashing, and this will cause the commit to be moved prior to the patch
being added/modified, resulting in a rebase conflict.
This PR adds additional handling committing conflict-resolved patches,
where a lookup for the patch in the branch history is carried out, to
verify if any changes in the branch dev cycle are relevant for that
patch, and if so, to commit the conflict-resolved patch as a `fixup!`
for that change. This way, the next `rebase --squash-minor-bumps`
squahses the fixup to the relevant changes, and no conflicts arise from
having a "Conflict-resolved" patch being squashed with changes that have
not been introduced yet.
This approach is only employed for lifts in branches doing major version
upgrades, as these branches are worked on an incremental schedule, where
the need for this type of handling becomes apparent.
Resolves https://github.com/brave/brave-browser/issues/54994