Elijah Newren <newren@xxxxxxxxx> writes: > I'm not certain what the default should be, but I do believe that it > should be consistent between these commands. I lean towards > considering break detection being on by default a good thing, but > there are some interesting issues to address: > - there is no knob to adjust break detection for status, only for > diff/log/show/etc. > - folks have a knob to turn break detection on (for diff/log/show), > but not one to turn it off > - for status, break detection makes no sense if rename detection is off. > - for diff/log/show, break detection provides almost no value if > rename detection is off (only a dissimilarity index), suggesting that > if user turns rename detection off and doesn't explicitly ask for > break detection, then it's a waste of time to have it be on > - merge-recursive would break horribly right now if someone turned > break detection on for it. Turning it on might be a good long term > goal, but it's not an easy change. Many of the issues in the above list are surmountable. A new option could be added to "status" to enable break or "diff" family to disable it if we really wanted to. A new "rewritten" state can be added alongside with "modified" to "status" output. A more serious issue around "-B" is this one: https://public-inbox.org/git/xmqqegqaahnh.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxx/ Even though the message is back from 2015 and asks users not to use -B/-M together for anything critical "for now", the issue has not been resolved and the same bug remains with us in the current code. In the longer term, I suspect that it might make sense to have an option to let users choose among "I do not want to have anything to do with -B", "I always want -B when I ask for -M" and "I always want -B whether I ask for -M". But unfortunately the latter two with the current codebase is an unacceptably risky/broken choice. > > So, where does that leave us? My opinion is > - these commands should be consistent. Eckhard's patch makes them so. > - we might want to move towards break detection being on as the > default. That's a couple patch series (one for everything but > merge-recursive, and a separate much bigger series for > merge-recursive). > > But I can see others saying we should leave things inconsistent until > we can fix the other commands to use break detection as the default. > So...thoughts? > > Elijah