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

From: Junio C Hamano <[email-masked]>
Date: Mon, 28 Feb 2022 22:44:42 -0800

Junio C Hamano <[email-masked]> 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 ;-)

$ 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(+)