Re: [PATCH v3 8/9] show, log: include conflict/warning messages in --remerge-diff headers
- From
Elijah Newren <newren@gmail.com>
- Date
- Jan 21, 2022, 16:55 UTC
- Message-ID
- <CABPp-BFgWH9Vn3oaiOe26ktSDUHzJZYzCa9FNpUxKt+r=PrRZw@mail.gmail.com>
- In-Reply-To
- <CABPp-BHjU+wDXNnf-rsGy86GvOFWH6qVLPEfAA2JDfLFRU4WSA@mail.gmail.com>
On Thu, Jan 20, 2022 at 6:16 PM Elijah Newren <newren@gmail.com> wrote:
> > On Thu, Jan 20, 2022 at 3:27 AM Ævar Arnfjörð Bjarmason > <avarab@gmail.com> wrote: > >
...
Show 17 quoted lines
> > 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.