git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] merge-ort: make informational messages from recursive merges clearer

From
Elijah Newren <newren@gmail.com>
Date
Mar 2, 2022, 02:32 UTC
Message-ID
<CABPp-BFgLfjLBEK96SLaLxoq6Nspse=FBgViKfiQPk4GaQadFQ@mail.gmail.com>
In-Reply-To
<xmqqwnheuq79.fsf@gitster.g>
On Mon, Feb 28, 2022 at 10:44 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 23 quoted lines
>
> Junio C Hamano <gitster@pobox.com> writes:
>
> >> One other thing to note here, that I didn't notice until typing up this
> >> commit message, is that merge-recursive does not print any messages from
> >> the inner merges by default; the extra verbosity has to be requested.
> >> merge-ort currently has no verbosity controls and always prints these.
> >> We may also want to change that, but for now, just make the output
> >> clearer with these extra markings and indentation.
> >
> > Yup, I found that the messages on inner conflicts, especially when
> > they "cancel out" at the outer merge, are mostly noise that carries
> > very little useful information (by being noisy, the user gets a sense
> > of how complex the histories being merged are).  Reducing the default
> > messaging level would probably be a good idea.
>
> Here is what I just had to scroll through to update 'next' by
> merging back 'master', only to grab the updates to the release
> notes.  Needless to say, this would have been somewhat baffling
> if I didn't know to expect it.
>
> It would be good to squelch it before we hear another complaints
> from old-timer power users ;-)
I'll submit a patch soon.
Show 70 quoted lines
>
> $ git merge -m 'Sync with master' --no-log master
>   From inner merge:  Auto-merging blame.c
>   From inner merge:  Auto-merging builtin/am.c
>   From inner merge:  Auto-merging builtin/blame.c
>   From inner merge:  Auto-merging builtin/clone.c
>   From inner merge:  Auto-merging builtin/clone.c
>   From inner merge:  Auto-merging builtin/commit.c
>   From inner merge:  Auto-merging builtin/fetch.c
>   From inner merge:  Auto-merging builtin/fetch.c
>   From inner merge:  Auto-merging builtin/grep.c
>   From inner merge:  Auto-merging builtin/hash-object.c
>   From inner merge:  Auto-merging builtin/log.c
>   From inner merge:  Auto-merging builtin/log.c
>   From inner merge:  Auto-merging builtin/pack-objects.c
>   From inner merge:  Auto-merging builtin/pull.c
>   From inner merge:  Auto-merging builtin/pull.c
>   From inner merge:  Auto-merging builtin/rebase.c
>   From inner merge:  Auto-merging builtin/rebase.c
>   From inner merge:  Auto-merging builtin/reflog.c
>   From inner merge:  CONFLICT (content): Merge conflict in builtin/reflog.c
> Auto-merging builtin/reflog.c
>   From inner merge:  Auto-merging builtin/reset.c
>   From inner merge:  Auto-merging builtin/sparse-checkout.c
>   From inner merge:  Auto-merging builtin/sparse-checkout.c
>   From inner merge:  Auto-merging builtin/submodule--helper.c
>   From inner merge:  Auto-merging builtin/submodule--helper.c
>   From inner merge:  CONFLICT (content): Merge conflict in builtin/submodule--helper.c
> Auto-merging builtin/submodule--helper.c
>   From inner merge:  Auto-merging builtin/worktree.c
>   From inner merge:  Auto-merging cache.h
>   From inner merge:  Auto-merging config.c
>   From inner merge:  Auto-merging config.h
>   From inner merge:  Auto-merging diff-merges.c
>   From inner merge:  Auto-merging diff.c
>   From inner merge:  Auto-merging git.c
>   From inner merge:  Auto-merging gpg-interface.c
>   From inner merge:  Auto-merging grep.c
>   From inner merge:  Auto-merging grep.c
>   From inner merge:  Auto-merging notes-merge.c
>   From inner merge:  Auto-merging object-name.c
>   From inner merge:  Auto-merging pack-bitmap-write.c
>   From inner merge:  Auto-merging parse-options.c
>   From inner merge:  CONFLICT (content): Merge conflict in parse-options.c
>   From inner merge:  Auto-merging parse-options.h
>   From inner merge:  CONFLICT (content): Merge conflict in parse-options.h
>   From inner merge:  Auto-merging refs.c
>   From inner merge:  Auto-merging revision.c
>   From inner merge:  Auto-merging sequencer.c
>   From inner merge:  Auto-merging sequencer.c
>   From inner merge:  Auto-merging sparse-index.c
>   From inner merge:  Auto-merging submodule-config.c
>   From inner merge:  Auto-merging t/t1091-sparse-checkout-builtin.sh
>   From inner merge:  CONFLICT (content): Merge conflict in t/t1091-sparse-checkout-builtin.sh
> Auto-merging t/t1091-sparse-checkout-builtin.sh
>   From inner merge:  Auto-merging t/t1512-rev-parse-disambiguation.sh
>   From inner merge:  Auto-merging t/t4202-log.sh
>   From inner merge:  Auto-merging t/t4202-log.sh
>   From inner merge:    Auto-merging t/t4202-log.sh
>   From inner merge:  Auto-merging t/t4202-log.sh
>   From inner merge:  Auto-merging t/t4202-log.sh
>   From inner merge:  Auto-merging t/t5316-pack-delta-depth.sh
>   From inner merge:  Auto-merging t/t6120-describe.sh
>   From inner merge:    Auto-merging t/t6120-describe.sh
>   From inner merge:  Auto-merging worktree.c
> Merge made by the 'ort' strategy.
>  Documentation/RelNotes/2.36.0.txt | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
>
Previous: Junio C HamanoNext: Elijah Newren
Message 4 of 6 in “merge-ort: make informational messages from recursive merges clearer”
  1. merge-ort: make informational messages from recursive merges clearerElijah Newren via GitGitGadget, Feb 17, 2022
  2. Junio C HamanoFeb 17, 2022
  3. Junio C HamanoMar 1, 2022
  4. Elijah NewrenMar 2, 2022
  5. Elijah NewrenMar 2, 2022
  6. Junio C HamanoMar 2, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.