diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-02-17 02:14:29 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-02-17 02:14:29 +0300 |
commit | 90b7153806af46ca62b85a92a2810015be2453d4 (patch) | |
tree | d901ce92dd17d06fe7d0728dd1c25f29d4b37e98 /apply.c | |
parent | 34230514b83f55ea0f4531e8486533ac5c3e2ffe (diff) | |
parent | 0dec322d31db3920872f43bdd2a7ddd282a5be67 (diff) |
Merge branch 'en/remerge-diff'
"git log --remerge-diff" shows the difference from mechanical merge
result and the result that is actually recorded in a merge commit.
* en/remerge-diff:
diff-merges: avoid history simplifications when diffing merges
merge-ort: mark conflict/warning messages from inner merges as omittable
show, log: include conflict/warning messages in --remerge-diff headers
diff: add ability to insert additional headers for paths
merge-ort: format messages slightly different for use in headers
merge-ort: mark a few more conflict messages as omittable
merge-ort: capture and print ll-merge warnings in our preferred fashion
ll-merge: make callers responsible for showing warnings
log: clean unneeded objects during `log --remerge-diff`
show, log: provide a --remerge-diff capability
Diffstat (limited to 'apply.c')
-rw-r--r-- | apply.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -3494,7 +3494,7 @@ static int three_way_merge(struct apply_state *state, { mmfile_t base_file, our_file, their_file; mmbuffer_t result = { NULL }; - int status; + enum ll_merge_result status; /* resolve trivial cases first */ if (oideq(base, ours)) @@ -3511,6 +3511,9 @@ static int three_way_merge(struct apply_state *state, &their_file, "theirs", state->repo->index, NULL); + if (status == LL_MERGE_BINARY_CONFLICT) + warning("Cannot merge binary files: %s (%s vs. %s)", + path, "ours", "theirs"); free(base_file.ptr); free(our_file.ptr); free(their_file.ptr); |