On Thu, Jan 20, 2022 at 6:16 PM Elijah Newren <newren@xxxxxxxxx> wrote: > > On Thu, Jan 20, 2022 at 3:27 AM Ævar Arnfjörð Bjarmason > <avarab@xxxxxxxxx> wrote: > > ... > > As noted before I find the current output really useful already. I've > > just been trying to poke it in various ways to see if I can uncover any > > bugs or unintended behavior. > > Very helpful, thanks. So, I think there are three issues here: > > * default history simplification is surprising for > --diff-merges={separate,first-parent,remerge}, particularly in > combination with pathspecs. Document that, or just have these options > turn on --full-history. > * more tests would be useful (though I'm worried about > combinatorial explosion, so I think just a few more would be good, > particularly around the --diff-filter options) > * interactions with --diff-filter are suboptimal. We need > something better, but if I revert my other changes to fix that issue > then I break the simple "Did this merge have conflicts?" usecase. We > need some clever solution. I tried out making the conflict headers be shown by --diff-filter=U *OR* whenever the associated diff for that file would be shown (e.g. if --diff-filter=R selects the file and it had a conflict header, it'd show the conflict header.) For diff-filters other than U that don't match the filediff, nothing for the file shows up. Seems to work great, and cleans up the output quite a bit. I've added more tests, including one for pathspecs since that did need just a little more work. I'll get it cleaned up and resubmitted soon.