> > > 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 ? Now that I think about it, do we really want "minimal" as a valid choice for --diff-algorithm, if it's not a choice of algorithm ? In that case, we may need a separate config option line diff.algorithm.minimal or maybe diff.algorithm.tuning ? > > > 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 >