If you are looking for a non-interactive solution, rediff
from patchutils
is of help.
Here's its man
description:
You can use rediff
to correct a hand-edited unified diff. Take a copy
of the diff you want to edit, and edit it without changing any offsets
or counts (the lines that begin “@@”). Then run rediff, telling it the
name of the original diff file and the name of the one you have
edited, and it will output the edited diff file but withcorrected
offsets and counts.
A small script, editdiff
, is provided for editing a diff file
in-place.
The types of changes that are currently handled are:
- Modifying the text of any file content line (of course).
- Adding new line insertions or deletions.
- Adding, changing or removing context lines. Lines at the context horizon are dealt with by adjusting the offset and/or count.
- Adding a single hunk (@@-prefixed section).
- Removing multiple hunk (@@-prefixed sections).
Based on its description, recountdiff
could also be a potential candidate to fix unified diffs.