On 01/07/12 18:22, Bruno Haible wrote: > I claim that this use-case is more frequent than the one which does not > follow symlinks. Proof: GNU diff users were happy with the existing behaviour > for 20 years.
I'm not sure that this is much of a proof. We've had many complaints over the years. I know I've not been happy with the existing behavior, in many practical cases. No matter what the default is, I imagine that occasionally one will do a diff -r, be unhappy because the default wasn't the way one wanted it, and then rerun with diff -rL or diff -rP (or whatever) to fix it. So the issues are more: which behavior is more likely to be desired in practice? And, if they're roughly equally desired, or if we don't know which is more desired, then which behavior is more likely to cause problems in practice? I'm not sure how to answer the first question, but for the second question it seems that following symlinks is more likely to cause problems than not following them, because of the problem of loops. On the other hand, there's the issue of compatibility -- POSIX requires that symlinks be followed all the time, and GNU diff has behaved that way for many years. Changing this is not something we'd want to do lightly.
