From: Alex Henrie <alexhenrie24@gmail.com>
To: Sergey Organov <sorganov@gmail.com>
Cc: Git mailing list <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: Why doesn't `git log -m` imply `-p`?
Date: Mon, 10 May 2021 10:56:52 -0600 [thread overview]
Message-ID: <CAMMLpeT+afQFjB=wDQYz=ECA8m=FXMnUkX7gekOZ3=YtAOJ5EQ@mail.gmail.com> (raw)
In-Reply-To: <87a6p2hjpe.fsf@osv.gnss.ru>
On Mon, May 10, 2021 at 6:11 AM Sergey Organov <sorganov@gmail.com> wrote:
>
> Alex Henrie <alexhenrie24@gmail.com> writes:
>
> > I read the following in `man git-log` today:
> >
> > --diff-merges=separate, --diff-merges=m, -m
> > This makes merge commits show the full diff with respect to each of
> > the parents. Separate log entry and diff is generated for each
> > parent. -m doesn't produce any output without -p.
> >
> > --diff-merges=combined, --diff-merges=c, -c
> > With this option, diff output for a merge commit shows the
> > differences from each of the parents to the merge result
> > simultaneously instead of showing pairwise diff between a parent and
> > the result one at a time. Furthermore, it lists only files which
> > were modified from all parents. -c implies -p.
> >
> > --diff-merges=dense-combined, --diff-merges=cc, --cc
> > With this option the output produced by --diff-merges=combined is
> > further compressed by omitting uninteresting hunks whose contents
> > in the parents have only two variants and the merge result picks one
> > of them without modification. --cc implies -p.
> >
> > Why do -c and -cc imply -p, but -m does not? I tried to use both `git
> > log -c` and `git log -m` today and was confused when the latter didn't
> > produce any output. Could we change this behavior in a future version
> > of Git?
>
> Patches to fix this are almost ready, but I'd like to make a warning
> that you'd likely be even more confused by the current output of "-m",
> unless you set "log.diffMerges" configuration option to "first-parent".
> These diffs with respect to /second/ parent at the end of the output
> made me really mad once upon a time.
Good observation. I'm not sure what would be the ideal default here,
but certainly having -m turn on /some/ kind of diff is better than
nothing. Thanks!
-Alex
next prev parent reply other threads:[~2021-05-10 16:57 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-29 1:44 Why doesn't `git log -m` imply `-p`? Alex Henrie
2021-04-29 3:22 ` Junio C Hamano
2021-04-29 12:38 ` Sergey Organov
2021-04-29 15:25 ` Alex Henrie
2021-04-29 16:35 ` Sergey Organov
2021-04-29 17:24 ` Alex Henrie
2021-04-29 19:07 ` Sergey Organov
2021-05-04 20:09 ` Felipe Contreras
2021-05-04 20:34 ` Sergey Organov
2021-04-29 23:27 ` Junio C Hamano
2021-04-30 4:50 ` Junio C Hamano
2021-04-30 14:00 ` Sergey Organov
2021-05-01 0:41 ` Junio C Hamano
2021-05-03 17:42 ` Sergey Organov
2021-05-04 1:15 ` Junio C Hamano
2021-05-04 9:10 ` Sergey Organov
2021-05-04 12:38 ` Junio C Hamano
2021-05-04 14:18 ` Sergey Organov
2021-05-05 0:20 ` Junio C Hamano
2021-05-05 13:43 ` Sergey Organov
2021-05-06 0:27 ` Junio C Hamano
2021-05-06 12:59 ` Sergey Organov
2021-05-06 20:29 ` Junio C Hamano
2021-05-06 20:48 ` Sergey Organov
2021-05-07 1:31 ` Alex Henrie
2021-05-10 12:11 ` Sergey Organov
2021-05-10 16:56 ` Alex Henrie [this message]
2021-05-10 15:34 ` [PATCH 0/6] diff-merges: let -m imply -p Sergey Organov
2021-05-10 15:34 ` [PATCH 1/6] t4013: add test for "git diff-index -m" Sergey Organov
2021-05-10 15:34 ` [PATCH 2/6] diff-merges: move specific diff-index "-m" handling to diff-index Sergey Organov
2021-05-11 4:09 ` Junio C Hamano
2021-05-11 5:23 ` Junio C Hamano
2021-05-11 5:41 ` Junio C Hamano
2021-05-11 13:43 ` Sergey Organov
2021-05-10 15:34 ` [PATCH 3/6] git-svn: stop passing "-m" to "git rev-list" Sergey Organov
2021-05-10 15:34 ` [PATCH 4/6] stash list: stop passing "-m" to "git list" Sergey Organov
2021-05-10 15:34 ` [PATCH 5/6] diff-merges: rename "combined_imply_patch" to "merges_imply_patch" Sergey Organov
2021-05-10 15:34 ` [PATCH 6/6] diff-merges: let -m imply -p Sergey Organov
2021-05-11 4:14 ` Junio C Hamano
2021-05-11 4:56 ` Junio C Hamano
2021-05-11 14:03 ` Sergey Organov
2021-05-11 17:13 ` Alex Henrie
2021-05-11 18:46 ` Sergey Organov
2021-05-11 19:53 ` Alex Henrie
2021-05-11 20:27 ` Sergey Organov
2021-05-12 1:16 ` Felipe Contreras
2021-05-11 18:31 ` Elijah Newren
2021-05-11 19:00 ` Sergey Organov
2021-05-11 19:56 ` Elijah Newren
2021-05-11 20:32 ` Sergey Organov
2021-05-11 20:43 ` Junio C Hamano
2021-05-11 21:38 ` Sergey Organov
2021-05-11 23:40 ` Junio C Hamano
2021-05-19 21:44 ` Jonathan Nieder
2021-05-20 20:39 ` Sergey Organov
2021-05-21 18:14 ` Felipe Contreras
2021-05-11 16:29 ` Sergey Organov
2021-05-17 12:57 ` Sergey Organov
2021-05-11 16:30 ` Sergey Organov
2021-05-19 21:48 ` Jonathan Nieder
2021-05-19 22:03 ` Sergey Organov
2021-05-19 23:32 ` Junio C Hamano
2021-05-20 13:14 ` Sergey Organov
2021-05-20 18:50 ` Jonathan Nieder
2021-05-20 19:38 ` Sergey Organov
2021-05-17 15:58 ` [PATCH v1 0/9] " Sergey Organov
2021-05-17 15:58 ` [PATCH v1 1/9] t4013: test that "-m" alone has no effect in "git log" Sergey Organov
2021-05-17 15:58 ` [PATCH v1 2/9] t4013: test "git -m --raw" Sergey Organov
2021-05-18 3:27 ` Bagas Sanjaya
2021-05-18 12:13 ` Sergey Organov
2021-05-17 15:58 ` [PATCH v1 3/9] t4013: test "git -m --stat" Sergey Organov
2021-05-17 15:58 ` [PATCH v1 4/9] t4013: test "git diff-index -m" Sergey Organov
2021-05-17 15:58 ` [PATCH v1 5/9] diff-merges: move specific diff-index "-m" handling to diff-index Sergey Organov
2021-05-17 20:10 ` Junio C Hamano
2021-05-17 20:24 ` Sergey Organov
2021-05-17 20:29 ` Junio C Hamano
2021-05-17 21:00 ` Sergey Organov
2021-05-17 15:58 ` [PATCH v1 6/9] git-svn: stop passing "-m" to "git rev-list" Sergey Organov
2021-05-17 15:58 ` [PATCH v1 7/9] stash list: stop passing "-m" to "git list" Sergey Organov
2021-05-17 15:58 ` [PATCH v1 8/9] diff-merges: rename "combined_imply_patch" to "merges_imply_patch" Sergey Organov
2021-05-17 15:58 ` [PATCH v1 9/9] diff-merges: let "-m" imply "-p" Sergey Organov
2021-05-17 19:51 ` [PATCH v1 0/9] diff-merges: let -m imply -p Junio C Hamano
2021-05-17 20:11 ` Sergey Organov
2021-05-18 3:18 ` Bagas Sanjaya
2021-05-18 12:03 ` Sergey Organov
2021-05-18 12:17 ` Sergey Organov
2021-05-18 14:17 ` Junio C Hamano
2021-05-18 15:52 ` Sergey Organov
2021-05-19 11:45 ` [PATCH v2 " Sergey Organov
2021-05-19 11:45 ` [PATCH v2 1/9] t4013: test that "-m" alone has no effect in "git log" Sergey Organov
2021-05-19 11:45 ` [PATCH v2 2/9] t4013: test "git log -m --raw" Sergey Organov
2021-05-19 11:45 ` [PATCH v2 3/9] t4013: test "git log -m --stat" Sergey Organov
2021-05-19 11:45 ` [PATCH v2 4/9] t4013: test "git diff-index -m" Sergey Organov
2021-05-19 11:45 ` [PATCH v2 5/9] diff-merges: move specific diff-index "-m" handling to diff-index Sergey Organov
2021-05-19 11:45 ` [PATCH v2 6/9] git-svn: stop passing "-m" to "git rev-list" Sergey Organov
2021-05-19 11:45 ` [PATCH v2 7/9] stash list: stop passing "-m" to "git log" Sergey Organov
2021-05-19 11:45 ` [PATCH v2 8/9] diff-merges: rename "combined_imply_patch" to "merges_imply_patch" Sergey Organov
2021-05-19 11:45 ` [PATCH v2 9/9] diff-merges: let "-m" imply "-p" Sergey Organov
2021-05-20 21:46 ` [PATCH v3 00/10] diff-merges: let -m imply -p Sergey Organov
2021-05-20 21:46 ` [PATCH v3 01/10] t4013: test that "-m" alone has no effect in "git log" Sergey Organov
2021-05-20 21:46 ` [PATCH v3 02/10] t4013: test "git log -m --raw" Sergey Organov
2021-05-20 21:46 ` [PATCH v3 03/10] t4013: test "git log -m --stat" Sergey Organov
2021-05-20 21:46 ` [PATCH v3 04/10] t4013: test "git diff-tree -m" Sergey Organov
2021-05-20 21:46 ` [PATCH v3 05/10] t4013: test "git diff-index -m" Sergey Organov
2021-05-20 21:46 ` [PATCH v3 06/10] diff-merges: move specific diff-index "-m" handling to diff-index Sergey Organov
2021-05-20 21:47 ` [PATCH v3 07/10] git-svn: stop passing "-m" to "git rev-list" Sergey Organov
2021-05-20 21:47 ` [PATCH v3 08/10] stash list: stop passing "-m" to "git log" Sergey Organov
2021-05-20 21:47 ` [PATCH v3 09/10] diff-merges: rename "combined_imply_patch" to "merges_imply_patch" Sergey Organov
2021-05-20 21:47 ` [PATCH v3 10/10] diff-merges: let "-m" imply "-p" Sergey Organov
2021-08-05 3:16 ` Jonathan Nieder
2021-08-06 1:45 ` [PATCH] Revert 'diff-merges: let "-m" imply "-p"' Jonathan Nieder
2021-08-06 17:21 ` Junio C Hamano
2021-08-06 17:55 ` Junio C Hamano
2021-08-06 19:57 ` Jonathan Nieder
2021-08-08 17:55 ` Junio C Hamano
2021-08-17 9:13 ` Sergey Organov
2021-08-17 22:10 ` Junio C Hamano
2021-08-18 8:56 ` Sergey Organov
2021-08-19 18:50 ` Junio C Hamano
2021-08-19 18:51 ` Junio C Hamano
2021-08-20 10:24 ` Sergey Organov
2021-08-07 1:55 ` Jonathan Nieder
2021-08-07 6:49 ` Johannes Sixt
2021-08-07 13:51 ` Jonathan Nieder
2021-08-07 17:00 ` Junio C Hamano
2021-08-07 18:08 ` Jonathan Nieder
2021-08-08 0:42 ` Junio C Hamano
2021-08-17 9:17 ` Sergey Organov
2021-08-16 9:09 ` [PATCH v3 10/10] diff-merges: let "-m" imply "-p" Sergey Organov
[not found] <CANvKV6anT0MV7GDeY_Cd2r+BwvMjsTdmjK+s_DKth7ZqL0XRUQ@mail.gmail.com>
2021-05-19 17:03 ` Why doesn't `git log -m` imply `-p`? Sergey Organov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMMLpeT+afQFjB=wDQYz=ECA8m=FXMnUkX7gekOZ3=YtAOJ5EQ@mail.gmail.com' \
--to=alexhenrie24@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sorganov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).