yet another washing diffs pull request.

I did as Junio suggest, using back reference when this is just a modification, and the rename buffer otherwise.