From: Elijah Newren Date: Wed, 02 Feb 2022 23:09:52 GMT Subject: Re: [PATCH v2 08/13] merge-tree: support including merge messages in output Message-ID: In-Reply-To: On Wed, Feb 2, 2022 at 1:30 PM Junio C Hamano wrote: > > "Elijah Newren via GitGitGadget" writes: > > > +By default, for a successful merge, the output from git-merge-tree is > > +simply one line: > > + > > + > > + > > +Whereas for a conflicted merge, the output is by default of the form: > > > > > > + > > Sounds useful. This made me wonder, as the only shuffling of the > output destination in the past few steps were to send the output to > some "FILE *", how you send the findings you make while coming up > with the result _after_ the result. It turns out that the ORT > machinery already buffers these findings in a strbuf per path, so > there is no trouble doing so ;-) :-) > It still makes me wonder how the "send rename warnings to the > standard output stream, instead of the standard error stream" change > interacts with this change, though. That needs to be done way > before you finish computing the result, and it does not seem to be > buffered in-core, like per-path conflict information messages. Actually, that's also stashed away in detect_regular_renames() from merge-ort.c: if (diff_opts.needed_rename_limit > renames->needed_limit) renames->needed_limit = diff_opts.needed_rename_limit; and then the call to diff_warn_rename_limit() is deferred until after all the informational messages are printed. Also, this series modifies diff_warn_rename_limit() later to allow it to send that message to a different stream.