Thread (3 messages) flat view 3 messages, 2 authors, 2020-05-26

Re: [BUG] diff algorithm selection issue

From: <hidden>
Date: 2020-05-26 16:57:29

Hi Junio,
quoted
When the config has diff.algorithm=patience set, "git diff
--minimal" seems to
be ignored, and does not give the same output as "git diff
--diff-algorithm=minimal",
but really the same as "git diff --diff-algorithm=patience".
As I wrote, that is absolutely the intended behaviour.

When patience and other algorithm learns how to trade cycles off
with output size, --minimal may make a difference, but unlike
"--diff-algorithm=minimal" that forces Myers algorithm, the
"--minimal" option should not change the underlying algorithm.
OK, so then the problem is just in the doc, where --diff-algorithm=minimal
should rather be documented as something like:

 The basic greedy "myers" diff algorithm, spending extra time to make
 sure the smallest possible diff is produced (equivalent to
 `--diff-algorithm=myers --minimal`).

Or is it rather intended to be `--diff-algorithm=default --minimal`,
whatever the default may be in the future ?


As for the other flags, --patience and --histogram should probably
documented as backward-compatibility aliases for --diff-algorithm=, right ?


I'll send a formal patch if all of this sounds good.


And as a last point, there would be the problem shown by patience diff
on the commit referenced in my original post - If patience is still
considered for promotion to default some day, I guess we wouldn't want
it to make such a bad choice.

Best regards,
-- 
Yann
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help