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
This commit is contained in:
Junio C Hamano
2022-02-16 15:14:29 -08:00
23 changed files with 727 additions and 48 deletions

View File

@@ -195,7 +195,8 @@ struct rev_info {
combine_merges:1,
combined_all_paths:1,
dense_combined_merges:1,
first_parent_merges:1;
first_parent_merges:1,
remerge_diff:1;
/* Format info */
int show_notes;
@@ -315,6 +316,9 @@ struct rev_info {
/* misc. flags related to '--no-kept-objects' */
unsigned keep_pack_cache_flags;
/* Location where temporary objects for remerge-diff are written. */
struct tmp_objdir *remerge_objdir;
};
int ref_excluded(struct string_list *, const char *path);