From: Alex Henrie <alexhenrie24@gmail.com>
To: Sergey Organov <sorganov@gmail.com>
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
"Philip Oakley" <philipoakley@iee.email>,
"Elijah Newren" <newren@gmail.com>,
"Felipe Contreras" <felipe.contreras@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Git mailing list" <git@vger.kernel.org>
Subject: Re: [PATCH 6/6] diff-merges: let -m imply -p
Date: Tue, 11 May 2021 13:53:22 -0600 [thread overview]
Message-ID: <CAMMLpeR0eeM1droa3sxeToxw+8ACtJM3+3=SkWR9qrWbK_9sDQ@mail.gmail.com> (raw)
In-Reply-To: <878s4lqfbk.fsf@osv.gnss.ru>
On Tue, May 11, 2021 at 12:46 PM Sergey Organov <sorganov@gmail.com> wrote:
>
> Alex Henrie <alexhenrie24@gmail.com> writes:
>
> > On Tue, May 11, 2021 at 8:03 AM Sergey Organov <sorganov@gmail.com> wrote:
> >>
> >> Junio C Hamano <gitster@pobox.com> writes:
> >>
> >> > Junio C Hamano <gitster@pobox.com> writes:
> >>
> >> [...]
> >>
> >> > If we enable "some kind of diff" for "-m", I actually think that by
> >> > default "git log -m" should be turned into "log --cc". As you told
> >> > Alex in your response, "log -m -p" is a quite unpleasant format to
> >> > read---it is there only because it was the only thing we had before
> >> > we invented "-c/--cc".
> >>
> >> Please, no! --cc has unfortunate feature of outputting exactly nothing
> >> for a lot of merge commits, causing even more confusion than historical
> >> "-m -p" format.
> >>
> >> The best default for -m output is --diff-merges=first-parent. Everybody
> >> is familiar with it, and it's useful.
> >>
> >> > But that might be outside the scope of this series. I dunno, but if
> >> > there is no other constraints (like backward compatibility issues),
> >> > I have a moderately strong preference to use "--cc" over "-m -p"
> >> > from the get go for unconfigured people, rather than forcing
> >> > everybody to configure
> >>
> >> I rather have strong preference for --diff-merges=first-parent. --cc is
> >> only suitable for Git experts, and they know how to get what they want
> >> anyway. Yep, by using --cc. Why spare yet another short option for that?
> >>
> >> Overall, let's rather make -m give diff to the first parent by default.
> >> Simple. Useful. Not confusing.
> >
> > Honestly --diff-merges=separate is fine. Two weeks ago, when I started
> > this discussion, I was trying to use `git log -m` and `git show -m` to
> > find which merge commit introduced a particular change. Extremely
> > verbose diff output would have been great for that, the confusing part
> > was just that `git show -m` produced diff output and `git log -m` did
> > not.
>
> This is not a case in favor of "separate" over "first-parent" as the
> default for "-m", right?
>
> "Which merge commit introduced particular change" is exactly what
> --diff-merges=1 achieves, so "--diff-merges=separate" was not in fact
> needed, as I see it. Moreover, it could have produced wrong positives.
> Looks like --diff-merges=1 is a better fit.
I didn't know which branch the change came from. If the change came
from the first branch, it would not have appeared under the merge
commit with --diff-merges=first-parent. But the change would
definitely appear with --diff-merges=separate, which enabled me to
identify the merge commit that included it. So yes, this is a case in
favor of "separate" over "first-parent", but it's probably not a
common enough scenario to demand keeping "separate" for -m.
On Tue, May 11, 2021 at 12:31 PM Elijah Newren <newren@gmail.com> wrote:
>
> Interesting. I have a strong preference for --diff-merges=remerge
> (yeah, I know it's not upstream, but it's been ready to submit for
> months, but just backed up behind the other ort changes. Sorry, I
> can't push those through any faster). I've had others using it for
> about 9 months now.
--diff-merges=remerge is the default I would expect when no options
have been configured or passed on the command line (although it would
not have helped in the scenario I described above). I look forward to
using it!
-Alex
next prev parent reply other threads:[~2021-05-11 19:53 UTC|newest]
Thread overview: 129+ 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
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 [this message]
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
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMMLpeR0eeM1droa3sxeToxw+8ACtJM3+3=SkWR9qrWbK_9sDQ@mail.gmail.com' \
--to=alexhenrie24@gmail.com \
--cc=avarab@gmail.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=newren@gmail.com \
--cc=peff@peff.net \
--cc=philipoakley@iee.email \
--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.
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 NNTP newsgroup(s).