git/t/t4013
Jeff King 9ab89a2439 log: enable "-m" automatically with "--first-parent"
When using "--first-parent" to consider history as a single line of
commits, git-log still defaults to treating merges specially, even
though they could be considered as single commits in the linearized
history (that just introduce all of the changes from the second and
higher parents).

Let's instead have "--first-parent" imply "-m", which makes something
like:

  git log --first-parent -p

do what you'd expect. Likewise:

  git log --first-parent -Sfoo

will find "foo" in merge commits.

No new test is needed; we'll tweak the output of the existing
"--first-parent -p" test, which now matches the "-m --first-parent -p"
test. The unchanged existing test for "--no-diff-merges" confirms that
the user can get the old behavior if they want.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-07-29 13:43:57 -07:00
..
diff.config_format.subjectprefix_DIFFERENT_PREFIX
diff.diff-tree_--cc_--patch-with-stat_--summary_master
diff.diff-tree_--cc_--patch-with-stat_--summary_side
diff.diff-tree_--cc_--patch-with-stat_master
diff.diff-tree_--cc_--shortstat_master combine-diff: treat --shortstat like --stat 2019-01-24 12:18:53 -08:00
diff.diff-tree_--cc_--stat_--summary_master
diff.diff-tree_--cc_--stat_--summary_side
diff.diff-tree_--cc_--stat_master
diff.diff-tree_--cc_--summary_REVERSE combine-diff: treat --summary like --stat 2019-01-24 12:18:53 -08:00
diff.diff-tree_--cc_master
diff.diff-tree_--format=%N_note diff-tree.c: load notes machinery when required 2020-04-20 18:22:54 -07:00
diff.diff-tree_--patch-with-raw_initial
diff.diff-tree_--patch-with-stat_initial
diff.diff-tree_--pretty=oneline_--patch-with-raw_initial
diff.diff-tree_--pretty=oneline_--patch-with-stat_initial
diff.diff-tree_--pretty=oneline_--root_--patch-with-raw_initial
diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial
diff.diff-tree_--pretty=oneline_--root_-p_initial
diff.diff-tree_--pretty=oneline_--root_initial
diff.diff-tree_--pretty=oneline_-p_initial
diff.diff-tree_--pretty=oneline_initial
diff.diff-tree_--pretty_--notes_note diff-tree.c: load notes machinery when required 2020-04-20 18:22:54 -07:00
diff.diff-tree_--pretty_--patch-with-raw_initial
diff.diff-tree_--pretty_--patch-with-stat_initial
diff.diff-tree_--pretty_--patch-with-stat_side
diff.diff-tree_--pretty_--root_--patch-with-raw_initial
diff.diff-tree_--pretty_--root_--patch-with-stat_initial
diff.diff-tree_--pretty_--root_--stat_--compact-summary_initial diff: add --compact-summary 2018-02-27 15:22:47 -08:00
diff.diff-tree_--pretty_--root_--stat_--summary_initial
diff.diff-tree_--pretty_--root_--stat_initial
diff.diff-tree_--pretty_--root_--summary_-r_initial
diff.diff-tree_--pretty_--root_--summary_initial
diff.diff-tree_--pretty_--root_-p_initial
diff.diff-tree_--pretty_--root_initial
diff.diff-tree_--pretty_--stat_--summary_initial
diff.diff-tree_--pretty_--stat_initial
diff.diff-tree_--pretty_--summary_initial
diff.diff-tree_--pretty_-R_--root_--stat_--compact-summary_initial diff: add --compact-summary 2018-02-27 15:22:47 -08:00
diff.diff-tree_--pretty_-p_initial
diff.diff-tree_--pretty_-p_side
diff.diff-tree_--pretty_initial
diff.diff-tree_--pretty_note diff-tree.c: load notes machinery when required 2020-04-20 18:22:54 -07:00
diff.diff-tree_--pretty_side
diff.diff-tree_--root_--abbrev_initial
diff.diff-tree_--root_--patch-with-raw_initial
diff.diff-tree_--root_--patch-with-stat_initial
diff.diff-tree_--root_-p_initial
diff.diff-tree_--root_-r_--abbrev=4_initial
diff.diff-tree_--root_-r_--abbrev_initial
diff.diff-tree_--root_-r_initial
diff.diff-tree_--root_initial
diff.diff-tree_--stat_--compact-summary_initial_mode diff: add --compact-summary 2018-02-27 15:22:47 -08:00
diff.diff-tree_--stat_initial_mode diff: correct newline in summary for renamed files 2017-09-28 13:15:59 +09:00
diff.diff-tree_--summary_initial_mode diff: correct newline in summary for renamed files 2017-09-28 13:15:59 +09:00
diff.diff-tree_-R_--stat_--compact-summary_initial_mode diff: add --compact-summary 2018-02-27 15:22:47 -08:00
diff.diff-tree_-c_--abbrev_master
diff.diff-tree_-c_--stat_--summary_master
diff.diff-tree_-c_--stat_--summary_side
diff.diff-tree_-c_--stat_master
diff.diff-tree_-c_master
diff.diff-tree_-p_-m_master
diff.diff-tree_-p_initial
diff.diff-tree_-p_master
diff.diff-tree_-r_--abbrev=4_initial
diff.diff-tree_-r_--abbrev_initial
diff.diff-tree_-r_initial
diff.diff-tree_initial
diff.diff-tree_initial_mode diff: correct newline in summary for renamed files 2017-09-28 13:15:59 +09:00
diff.diff-tree_master
diff.diff_--abbrev_initial..side
diff.diff_--cached
diff.diff_--cached_--_file0
diff.diff_--dirstat-by-file_initial_rearrange
diff.diff_--dirstat_--cc_master~1_master combine-diff: treat --dirstat like --stat 2019-01-24 12:18:53 -08:00
diff.diff_--dirstat_initial_rearrange
diff.diff_--dirstat_master~1_master~2
diff.diff_--line-prefix=abc_master_master^_side graph: add support for --line-prefix on all graph-aware output 2016-08-31 18:07:09 -07:00
diff.diff_--line-prefix_--cached_--_file0 graph: add support for --line-prefix on all graph-aware output 2016-08-31 18:07:09 -07:00
diff.diff_--name-status_dir2_dir
diff.diff_--no-index_--name-status_--_dir2_dir
diff.diff_--no-index_--name-status_dir2_dir
diff.diff_--no-index_--raw_--abbrev=4_dir2_dir diff: handle --no-abbrev in no-index case 2016-12-08 14:40:30 -08:00
diff.diff_--no-index_--raw_--no-abbrev_dir2_dir diff: handle --no-abbrev in no-index case 2016-12-08 14:40:30 -08:00
diff.diff_--no-index_--raw_dir2_dir diff: handle --no-abbrev in no-index case 2016-12-08 14:40:30 -08:00
diff.diff_--no-index_dir_dir3
diff.diff_--patch-with-raw_-r_initial..side
diff.diff_--patch-with-raw_initial..side
diff.diff_--patch-with-stat_-r_initial..side
diff.diff_--patch-with-stat_initial..side
diff.diff_--raw_--abbrev=4_initial diff: handle --no-abbrev in no-index case 2016-12-08 14:40:30 -08:00
diff.diff_--raw_--no-abbrev_initial diff: handle --no-abbrev in no-index case 2016-12-08 14:40:30 -08:00
diff.diff_--raw_initial diff: handle --no-abbrev in no-index case 2016-12-08 14:40:30 -08:00
diff.diff_--stat_initial..side
diff.diff_-U1_initial..side diff-parseopt: restore -U (no argument) behavior 2019-05-29 11:04:32 -07:00
diff.diff_-U2_initial..side diff-parseopt: restore -U (no argument) behavior 2019-05-29 11:04:32 -07:00
diff.diff_-U_initial..side diff-parseopt: restore -U (no argument) behavior 2019-05-29 11:04:32 -07:00
diff.diff_-r_--stat_initial..side
diff.diff_-r_initial..side
diff.diff_initial..side
diff.diff_master_master^_side
diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side
diff.format-patch_--attach_--stdout_initial..master
diff.format-patch_--attach_--stdout_initial..master^
diff.format-patch_--attach_--stdout_initial..side
diff.format-patch_--inline_--stdout_--numbered-files_initial..master
diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master
diff.format-patch_--inline_--stdout_initial..master
diff.format-patch_--inline_--stdout_initial..master^
diff.format-patch_--inline_--stdout_initial..master^^
diff.format-patch_--inline_--stdout_initial..side
diff.format-patch_--stdout_--cover-letter_-n_initial..master^
diff.format-patch_--stdout_--no-numbered_initial..master
diff.format-patch_--stdout_--numbered_initial..master
diff.format-patch_--stdout_initial..master
diff.format-patch_--stdout_initial..master^
diff.format-patch_--stdout_initial..side
diff.log_--decorate=full_--all fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--decorate_--all fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--no-diff-merges_-p_--first-parent_master revision: add "--no-diff-merges" option to counteract "-m" 2020-07-29 13:43:57 -07:00
diff.log_--patch-with-stat_--summary_master_--_dir_ fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--patch-with-stat_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--patch-with-stat_master_--_dir_ fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--root_--cc_--patch-with-stat_--summary_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--root_--patch-with-stat_--summary_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--root_--patch-with-stat_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--root_-c_--patch-with-stat_--summary_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--root_-p_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_--root_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_-GF_-p_--pickaxe-all_master
diff.log_-GF_-p_master
diff.log_-GF_master
diff.log_-SF_-p_master
diff.log_-SF_master
diff.log_-SF_master_--max-count=0
diff.log_-SF_master_--max-count=1
diff.log_-SF_master_--max-count=2
diff.log_-S_F_master
diff.log_-m_-p_--first-parent_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_-m_-p_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_-p_--first-parent_master log: enable "-m" automatically with "--first-parent" 2020-07-29 13:43:57 -07:00
diff.log_-p_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.log_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.noellipses-diff-tree_--root_--abbrev_initial t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff-tree_--root_-r_--abbrev=4_initial t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff-tree_--root_-r_--abbrev_initial t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff-tree_-c_--abbrev_master t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff_--no-index_--raw_--abbrev=4_dir2_dir t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff_--no-index_--raw_dir2_dir t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff_--patch-with-raw_-r_initial..side t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff_--patch-with-raw_initial..side t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff_--raw_--abbrev=4_initial t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-diff_--raw_initial t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-show_--patch-with-raw_side t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-whatchanged_--root_master t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-whatchanged_-SF_master t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.noellipses-whatchanged_master t4013: test new output from diff --abbrev --raw 2017-12-06 07:32:59 -08:00
diff.rev-list_--children_HEAD
diff.rev-list_--parents_HEAD
diff.show_--first-parent_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.show_--patch-with-raw_side
diff.show_--patch-with-stat_--summary_side
diff.show_--patch-with-stat_side
diff.show_--root_initial
diff.show_--stat_--summary_side
diff.show_--stat_side
diff.show_-c_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.show_-m_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.show_initial
diff.show_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.show_side
diff.whatchanged_--patch-with-stat_--summary_master_--_dir_
diff.whatchanged_--patch-with-stat_master
diff.whatchanged_--patch-with-stat_master_--_dir_
diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.whatchanged_--root_--patch-with-stat_--summary_master
diff.whatchanged_--root_--patch-with-stat_master
diff.whatchanged_--root_-c_--patch-with-stat_--summary_master fmt-merge-msg: stop treating `master` specially 2020-06-23 17:22:35 -07:00
diff.whatchanged_--root_-p_master
diff.whatchanged_--root_master
diff.whatchanged_-SF_-p_master
diff.whatchanged_-SF_master
diff.whatchanged_-p_master
diff.whatchanged_master