(For a specific, nuanced, and personal definition of better...) I have a frequent behavior that arises when I am copy/pasting chunks of code, typically in tests. Here is an example: My Original code: def function(): line 1 line 2 line 3 line 4 line 5 line 6 -------------------------------- I add, after it: def function2(): line 1 line 2 line 3 line 4 line 5 line 6 -------------------------------- My diff is: + line 3 + line 4 + line 5 + line 6 + +def function2(): + line 1 + line 2 -------------------------------- I'd like my diff to be + +def function2(): + line 1 + line 2 + line 3 + line 4 + line 5 + line 6 Obviously there's nothing incorrect about the former diff, I just wish it was the latter rather than the former. I know that git includes four diff algorithms; in my testing patience or histogram exacerbated the problem; and none of them improved upon it. If anyone has suggestions I'd be curious to know if there's anything that could be done... Thanks, -tom