]> git.ipfire.org Git - thirdparty/git.git/commit - merge-ll.h
ll-merge: make callers responsible for showing warnings
authorElijah Newren <newren@gmail.com>
Wed, 2 Feb 2022 02:37:30 +0000 (02:37 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Feb 2022 18:02:27 +0000 (10:02 -0800)
commit35f6967161860cb5c067e961b7283e8389ff0726
treea14a32a6bcadc57722e27ce66b8e51e303ceab01
parent7b90ab467a658b2fb1b7c15c7d634e06f35f4ef2
ll-merge: make callers responsible for showing warnings

Since some callers may want to send warning messages to somewhere other
than stdout/stderr, stop printing "warning: Cannot merge binary files"
from ll-merge and instead modify the return status of ll_merge() to
indicate when a merge of binary files has occurred.  Message printing
probably does not belong in a "low-level merge" anyway.

This commit continues printing the message as-is, just from the callers
instead of within ll_merge().  Future changes will start handling the
message differently in the merge-ort codepath.

There was one special case here: the callers in rerere.c do NOT check
for and print such a message; since those code paths explicitly skip
over binary files, there is no reason to check for a return status of
LL_MERGE_BINARY_CONFLICT or print the related message.

Note that my methodology included first modifying ll_merge() to return
a struct, so that the compiler would catch all the callers for me and
ensure I had modified all of them.  After modifying all of them, I then
changed the struct to an enum.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
apply.c
builtin/checkout.c
ll-merge.c
ll-merge.h
merge-blobs.c
merge-ort.c
merge-recursive.c
notes-merge.c
rerere.c