diff options
| author | Elijah Newren <newren@gmail.com> | 2022-02-02 02:37:31 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2022-02-02 10:02:27 -0800 |
| commit | 24dbdab50ddaadf6a7abaf5537e0dad36d91e49a (patch) | |
| tree | 7b446e3e184166d479099136b153de6eff67cde2 /diff.c | |
| parent | ll-merge: make callers responsible for showing warnings (diff) | |
| download | git-24dbdab50ddaadf6a7abaf5537e0dad36d91e49a.tar.gz git-24dbdab50ddaadf6a7abaf5537e0dad36d91e49a.zip | |
merge-ort: capture and print ll-merge warnings in our preferred fashion
Instead of immediately printing ll-merge warnings to stderr, we save
them in our output strbuf. Besides allowing us to move these warnings
to a special file for --remerge-diff, this has two other benefits for
regular merges done by merge-ort:
* The deferral of messages ensures we can print all messages about
any given path together (merge-recursive was known to sometimes
intersperse messages about other paths, particularly when renames
were involved).
* The deferral of messages means we can avoid printing spurious
conflict messages when we just end up aborting due to local user
modifications in the way. (In contrast to merge-recursive.c which
prematurely checks for local modifications in the way via
unpack_trees() and gets the check wrong both in terms of false
positives and false negatives relative to renames, merge-ort does
not perform the local modifications in the way check until the
checkout() step after the full merge has been computed.)
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
0 files changed, 0 insertions, 0 deletions
