You might investigate the tools your editor of choice provides for working with diffs. You might be surprised at how easy it can be!
(In Emacs, if you're using git, magit is an amazing package. You can select a commit from the logs, dive into the diff for a file caused by that commit, highlight a region of the diff and revert the change in your working copy. It's wonderful.)