Hi! Thanks for your responses. One thing I noticed is that the responses I got all took the same approach: report only errors that are located on lines that have changed. I'll call this the code diff approach. What I was actually looking for was new errors introduced by the changes, which I'll call the pylint diff approach. For instance, if a use of a variable gets deleted by a change, a previous assignment may become unused, and pylint would report the error at the assignment line. This newly introduced error would be left out by the code diff approach. On the other hand, there's an argument that says that even if an error is not created by a change, if it is on a line that you changed, you should probably fix it. So, I think the pylint diff and the code diff approach could complement each other nicely. So again, thanks to everybody who responded, but I'm not entirely satisfied yet, and if anybody has anything further to add, I'm still interested. - mulhern