Add a standard function for correctly applying a patch.

Review Request #12087 — Created Feb. 25, 2022 and submitted — Latest diff uploaded

Information

ReviewBot
release-3.0.x

Reviewers

This introduces File.apply_patch(), which will apply patched file
content to the filesystem for full-repository tools. This takes care of
properly applying not just added/modified changes (which worked fine
before) but deleted, moved, and copied files (which didn't).

In the future, we may want to switch this to applying a patch through
GNU patch, to take advanage of time-tested patching logic. For now,
that's not how Review Bot works, so we're mimicking the logic we most
need for our tools.

New unit tests pass.

Diff Revision 4 (Latest)

orig
1
2
3
4

Commits

First Last Summary ID Author
Add a standard function for correctly applying a patch.
This introduces `File.apply_patch()`, which will apply patched file content to the filesystem for full-repository tools. This takes care of properly applying not just added/modified changes (which worked fine before) but deleted, moved, and copied files (which didn't). In the future, we may want to switch this to applying a patch through GNU patch, to take advanage of time-tested patching logic. For now, that's not how Review Bot works, so we're mimicking the logic we most need for our tools.
6ca7abffac8edd82f063c74cb45fdc0ff7928dd3 Christian Hammond
bot/reviewbot/processing/review.py
bot/reviewbot/processing/tests/test_file.py
bot/reviewbot/tools/base/mixins.py
Loading...