Can I convince the diff algorithm to behave better?
- From
- Tom Ritter <tom@ritter.vg>
- Date
- Mar 3, 2021, 02:03 UTC
- Message-ID
- <CA+cU71=FfReSG411Feo=vmkw4MdK4KDgokP1jH6uwOkC_0AbYA@mail.gmail.com>
(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