Merge branch 'so/log-diff-merge'

"git log" learned a new "--diff-merges=<how>" option.

* so/log-diff-merge: (32 commits)
  t4013: add tests for --diff-merges=first-parent
  doc/git-show: include --diff-merges description
  doc/rev-list-options: document --first-parent changes merges format
  doc/diff-generate-patch: mention new --diff-merges option
  doc/git-log: describe new --diff-merges options
  diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
  diff-merges: add old mnemonic counterparts to --diff-merges
  diff-merges: let new options enable diff without -p
  diff-merges: do not imply -p for new options
  diff-merges: implement new values for --diff-merges
  diff-merges: make -m/-c/--cc explicitly mutually exclusive
  diff-merges: refactor opt settings into separate functions
  diff-merges: get rid of now empty diff_merges_init_revs()
  diff-merges: group diff-merge flags next to each other inside 'rev_info'
  diff-merges: split 'ignore_merges' field
  diff-merges: fix -m to properly override -c/--cc
  t4013: add tests for -m failing to override -c/--cc
  t4013: support test_expect_failure through ':failure' magic
  diff-merges: revise revs->diff flag handling
  diff-merges: handle imply -p on -c/--cc logic for log.c
  ...
This commit is contained in:
Junio C Hamano
2021-02-05 16:40:44 -08:00
21 changed files with 893 additions and 116 deletions

View File

@ -191,11 +191,16 @@ struct rev_info {
match_missing:1,
no_commit_id:1,
verbose_header:1,
always_show_header:1,
/* Diff-merge flags */
explicit_diff_merges: 1,
merges_need_diff: 1,
separate_merges: 1,
combine_merges:1,
combined_all_paths:1,
combined_imply_patch:1,
dense_combined_merges:1,
always_show_header:1;
int ignore_merges:2;
first_parent_merges:1;
/* Format info */
int show_notes;