log: enable "-m" automatically with "--first-parent"
authorJeff King <redacted>
Wed, 29 Jul 2020 20:10:28 +0000 (16:10 -0400)
committerJunio C Hamano <redacted>
Wed, 29 Jul 2020 20:43:57 +0000 (13:43 -0700)
commit9ab89a2439064720cc790c4477b8e981832c43f5
treefe7aac85ff5caabe47f64bf6405039d4f8f10435
parent6fae74b418da05a80897487805c833fd0b253df3
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
builtin/log.c
t/t4013/diff.log_-p_--first-parent_master
git clone https://git.99rst.org/PROJECT