git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Elijah Newren <newren@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>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH v1 00/27] git-log: implement new --diff-merge options
Date: Sat, 5 Dec 2020 12:09:23 -0800	[thread overview]
Message-ID: <CABPp-BFWsdb3ECcvQjN7_v2krsKAqhqv3CDWvQ9d20Oy521Vag@mail.gmail.com> (raw)
In-Reply-To: <878sacjaws.fsf@osv.gnss.ru>

On Sat, Dec 5, 2020 at 11:44 AM Sergey Organov <sorganov@gmail.com> wrote:
>
> Elijah Newren <newren@gmail.com> writes:
>
> > On Fri, Dec 4, 2020 at 11:23 AM Sergey Organov <sorganov@gmail.com> wrote:
> >>
> >> Elijah Newren <newren@gmail.com> writes:
> >>
> >> > On Thu, Dec 3, 2020 at 11:48 AM Sergey Organov <sorganov@gmail.com> wrote:
> >> >>
> >> >> Elijah Newren <newren@gmail.com> writes:
> >> >>
> >> >> > On Sun, Nov 8, 2020 at 1:43 PM Sergey Organov
> >> >> > <sorganov@gmail.com> wrote:
> >> >> >>
> >> >> >> These patch series implement new set of options governing the
> >> >> >> diff output
> >> >> >> of merge commits, all under the umbrella of the single
> >> >> >> --diff-merges=<mode>
> >> >> >> option. Most of the new options being synonyms for -m/-c/--cc options,
> >> >> >> there is also additional functionality provided, allowing to get
> >> >> >> the format
> >> >> >> of "-p --first-parent" without change in history traversal that
> >> >> >> --first-parent option causes.
> >> >> >>
> >> >> >> The net result of these series are the following new options:
> >> >> >>
> >> >> >> --diff-merges=   |  old equivalent
> >> >> >> -----------------+----------------
> >> >> >> first-parent     | --first-parent (only format implications)
> >> >> >> separate         | -m
> >> >> >> combined         | -c
> >> >> >> dense-combined   | --cc
> >> >> >
> >> >> > Interesting.  I have some local patches implementing another choice,
> >> >> > with the new flag --remerge-diff.  This flag will cause `git show` or
> >> >> > `git log` to automatically remerge the two parents in a 2-parent merge
> >> >> > commit, and then diff the merge commit against that automatic merge,
> >> >> > showing the result.  Thus, the diff for a merge commit is likely to be
> >> >> > empty if the merge was clean, and is likely to show the removal of
> >> >> > conflict markers if the merge was not clean.
> >> >> >
> >> >> > I'm curious how it'd interact with this new option.  Would it also get
> >> >> > a name, e.g. --diff-merges=remerge-diff?  Feels like a mouthful, but I
> >> >> > can't come up with anything better.
> >> >>
> >> >> Maybe, --diff-merges=remerge?
> >> >>
> >> >> >
> >> >> > Also, I'm curious how it'd interact with another option I added, named
> >> >> > --remerge-diff-only.  This latter option modifies revision traversal
> >> >> > in that it skips octopus merges, root commits, and single parent
> >> >> > commits IF no cherry-pick or revert information can be found.  If it
> >> >> > finds a 2-parent merge commit, it behaves like --remerge-diff.  If it
> >> >> > finds a 1-parent commit with cherry-pick or revert information, it'll
> >> >> > do an in memory repeat of that cherry-pick (or revert) and then diff
> >> >> > the actual commit against what the automatic cherry-pick would
> >> >> > perform.  Again, that likely means an empty diff if the automatic
> >> >> > cherry-pick was clean, and showing any changes made by the user to
> >> >> > complete the original cherry-pick (such as deleting conflict markers
> >> >> > and picking which chunks from which side to keep) if the automatic
> >> >> > cherry-pick was not clean.  (I suspect --remerge-diff-only is much
> >> >> > more likely to be used with `git show` than with `git log`.)  Anyway,
> >> >> > your changes seem to suggest that anything relating to how diffs for
> >> >> > merges are handled should be documented in the same section, but
> >> >> > --remerge-diff-only doesn't fit.  And it'd seem odd to have
> >> >> > --remerge-diff and --remerge-diff-only not show up in adjacently but
> >> >> > be split into separate sections.  Any ideas?
> >> >>
> >> >> Sounds like commits limiting option to me. I think it could be named by
> >> >> its limiting behavior only, say, --remerges. Then it will imply
> >> >> --diff-merges=remerge, that'd allow user to re-define diff format if she
> >> >> needs to.
> >> >
> >> > It is commit limiting, but the focus is more on the behavioral change
> >> > in how diffs are shown:
> >> >   * for 2-parent merges
> >> >   * for single-parent commits with cherry-pick or revert information
> >> > and acknowledging that since it has _altered_ the normal way of
> >> > showing diffs for a number of single-parent commits, that it'd be
> >> > confusing to show normal diffs of unaffected commits (how would you be
> >> > able to tell what type of diff you're looking at if both appear in the
> >> > log?).  Thus, it does commit limiting to only select commits which
> >> > will make use of the new diff type.
> >>
> >> That's how you currently look at it.
> >>
> >> For me it looks like pure commit limiting with these criteria might be
> >> useful by itself, and with my suggestion one could then achieve it
> >> using, say:
> >>
> >> --remerge-diff-only --diff-merges=off
> >
> > I see what you're saying, and I think there's some value in it.  But I
> > think there's something still missing.  For example, you suggest
> > getting the commit limiting I mention with
> >
> >     --remerge-diff-only --diff-merges=off
> >
> > But --diff-merges is only supposed to control _merge_ commits, which I
> > flagged as the big impedance mismatch for my new option.  Why would it
> > turn off diffs for non-merge commits like cherry-picks and rebases?
> >
> >> >
> >> > (I suspect it will be more common for folks to use the
> >> > --remerge-diff-only option, or whatever we end up calling it, with
> >> > `git show` where the commit limiting doesn't matter -- but I have used
> >> > it with log to go looking for "evil" reverts/cherry-picks that might
> >> > have occurred in history.)
> >>
> >> What you describe is complex enough to doubt it could be entirely
> >> described by option name, so shorter --evils might be better choice
> >> in this case.
> >>
> >> Overall, if you add --diff-merges=remerge as a new diff format, and then
> >> --evils that implies the former, then it seems like all possible
> >> use-cases will be covered, and you have short option name for the most
> >> useful case.
> >
> > Since you want things to have orthogonal subcomponents that can be
> > built up, let's assume we did make --remerge-diff-only be solely about
> > commit limiting.  In that case, --evils could be gotten by specifying
> > a combination of flags, and --evils would just be a shorthand.  What
> > are the flags that you would need to specify, though?  In particular,
> > you've only named two options above and they don't cover the necessary
> > behavior; a third is needed:
> >
> >    --remerge-diff-only --diff-merges=remerge
> > --${DIFF_OPTION_NAME_FOR_CHERRY_PICKS_AND_REVERTS}=remerge
> >
> > The first two aren't enough because --diff_merges only changes how
> > diffs for _merge_ commits are shown, and we need a flag for changing
> > how the single-parent cherry-pick and reverts are shown.
>
> Yeah, I see your point. I didn't get it from the beginning that you want
> yet another representation format for regular commits as well. However,
> as far as I can tell, if --evils flag is active, you do consider
> cherry-picks and reverts as kind of merges, that makes sense as they
> actually /are/ expected to be results of specific /merge operation/,
> even though they are not /merge commits/, so semantically they do have
> second parent reference (to the original commit), even if a virtual one.
>
> To further illustrate my point, reverts and cherry-picks could have been
> implemented, for example, as merge commits with, say, 3-rd parent
> pointing back to the original commit (not 2-nd parent, both to
> differentiate from regular merges and to support cherry-picking of merge
> commits.)
>
> As a side-note, people rarely differentiate between
> "merge-the-operation" and "merge-the-result" anyway, even when it leads
> to confusion.
>
> Overall, if we take the above into account, it seems to be fine if
> --diff-merges does affect the representation or such "quasi-merge"
> commits, for the purposes of --evils option.

Yeah, that could make sense.  We'd still need some additional flag.
One flag, perhaps --diff-merges=remerge, would be the one that would
_only_ affect actual two-parent merges (which I use as the default
instead of --cc with `git show`, and which I make implied by default
with `git log --patch` at $DAYJOB), and we'd need another name for
whatever turned those special diffs on for cherry-picks and reverts.
Further, the extra flag that turns on special diffs for cherry-picks
and reverts should turn off diffs entirely for any other single-parent
commits.  (I think it's just too confusing for any command to show
multiple single-parent commits with a mixture of different types of
diffs.)

  reply	other threads:[~2020-12-05 20:12 UTC|newest]

Thread overview: 232+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-01 19:33 [PATCH 00/26] " Sergey Organov
2020-11-01 19:33 ` [PATCH 01/26] revision: factor out parsing of diff-merge related options Sergey Organov
2020-11-01 19:33 ` [PATCH 02/26] revision: factor out setup of diff-merge related settings Sergey Organov
2020-11-01 19:33 ` [PATCH 03/26] revision: factor out initialization " Sergey Organov
2020-11-01 19:33 ` [PATCH 04/26] revision: provide implementation for diff merges tweaks Sergey Organov
2020-11-01 19:33 ` [PATCH 05/26] revision: move diff merges functions to its own diff-merges.c Sergey Organov
2020-11-01 19:33 ` [PATCH 06/26] diff-merges: rename all functions to have common prefix Sergey Organov
2020-11-01 19:33 ` [PATCH 07/26] diff-merges: move checks for first_parent_only out of the module Sergey Organov
2020-11-01 19:33 ` [PATCH 08/26] diff-merges: rename diff_merges_default_to_enable() to match semantics Sergey Organov
2020-11-01 19:33 ` [PATCH 09/26] diff-merges: re-arrange functions to match the order they are called in Sergey Organov
2020-11-01 19:33 ` [PATCH 10/26] diff-merges: new function diff_merges_suppress() Sergey Organov
2020-12-03  5:52   ` Elijah Newren
2020-12-03 20:06     ` Sergey Organov
2020-12-03 20:28       ` Elijah Newren
2020-12-04 17:23         ` Sergey Organov
2020-11-01 19:33 ` [PATCH 11/26] diff-merges: new function diff_merges_set_dense_combined_if_unset() Sergey Organov
2020-11-01 19:33 ` [PATCH 12/26] diff-merges: introduce revs->first_parent_merges flag Sergey Organov
2020-11-01 19:33 ` [PATCH 13/26] diff-merges: revise revs->diff flag handling Sergey Organov
2020-11-01 19:33 ` [PATCH 14/26] t4013: support test_expect_failure through ':failure' magic Sergey Organov
2020-11-01 19:33 ` [PATCH 15/26] t4013: add tests for -m failing to override -c/--cc Sergey Organov
2020-11-01 19:33 ` [PATCH 16/26] diff-merges: fix -m to properly " Sergey Organov
2020-11-01 19:33 ` [PATCH 17/26] diff-merges: split 'ignore_merges' field Sergey Organov
2020-11-02 10:48   ` Philip Oakley
2020-11-02 16:15     ` Sergey Organov
2020-11-01 19:33 ` [PATCH 18/26] diff-merges: group diff-merge flags next to each other inside 'rev_info' Sergey Organov
2020-11-01 19:33 ` [PATCH 19/26] diff-merges: get rid of now empty diff_merges_init_revs() Sergey Organov
2020-11-02 10:51   ` Philip Oakley
2020-11-01 19:33 ` [PATCH 20/26] diff-merges: refactor opt settings into separate functions Sergey Organov
2020-11-01 19:33 ` [PATCH 21/26] diff-merges: make -m/-c/--cc explicitly mutually exclusive Sergey Organov
2020-11-01 19:33 ` [PATCH 22/26] diff-merges: implement new values for --diff-merges Sergey Organov
2020-11-01 19:33 ` [PATCH 23/26] t4013: add test for --diff-merges=first-parent Sergey Organov
2020-11-01 19:33 ` [PATCH 24/26] doc/git-log: describe new --diff-merges options Sergey Organov
2020-11-01 19:33 ` [PATCH 25/26] doc/diff-generate-patch: mention new --diff-merges option Sergey Organov
2020-11-01 19:33 ` [PATCH 26/26] doc/rev-list-options: document --first-parent implies --diff-merges=first-parent Sergey Organov
2020-11-08 21:38 ` [PATCH v1 00/27] git-log: implement new --diff-merge options Sergey Organov
2020-11-08 21:38   ` [PATCH v1 01/27] revision: factor out parsing of diff-merge related options Sergey Organov
2020-12-03  0:33     ` Junio C Hamano
2020-12-03 15:16       ` Sergey Organov
2020-12-04  6:36         ` Junio C Hamano
2020-12-04 19:10           ` Sergey Organov
2020-11-08 21:38   ` [PATCH v1 02/27] revision: factor out setup of diff-merge related settings Sergey Organov
2020-12-03  0:34     ` Junio C Hamano
2020-11-08 21:38   ` [PATCH v1 03/27] revision: factor out initialization " Sergey Organov
2020-12-03  0:39     ` Junio C Hamano
2020-12-03 15:35       ` Sergey Organov
2020-11-08 21:38   ` [PATCH v1 04/27] revision: provide implementation for diff merges tweaks Sergey Organov
2020-12-03  0:51     ` Junio C Hamano
2020-12-03  5:28       ` Junio C Hamano
2020-12-03 16:03         ` Sergey Organov
2020-12-03 17:53       ` Sergey Organov
2020-11-08 21:38   ` [PATCH v1 05/27] revision: move diff merges functions to its own diff-merges.c Sergey Organov
2020-12-03  0:58     ` Junio C Hamano
2020-12-03 16:44       ` Sergey Organov
2020-11-08 21:38   ` [PATCH v1 06/27] diff-merges: rename all functions to have common prefix Sergey Organov
2020-12-03  0:52     ` Junio C Hamano
2020-12-03 17:49       ` Sergey Organov
2020-11-08 21:38   ` [PATCH v1 07/27] diff-merges: move checks for first_parent_only out of the module Sergey Organov
2020-12-03  1:09     ` Junio C Hamano
2020-12-03 20:22       ` Sergey Organov
2020-11-08 21:38   ` [PATCH v1 08/27] diff-merges: rename diff_merges_default_to_enable() to match semantics Sergey Organov
2020-11-08 21:38   ` [PATCH v1 09/27] diff-merges: re-arrange functions to match the order they are called in Sergey Organov
2020-12-03  5:52     ` Elijah Newren
2020-12-03 15:41       ` Sergey Organov
2020-11-08 21:38   ` [PATCH v1 10/27] diff-merges: new function diff_merges_suppress() Sergey Organov
2020-11-08 21:38   ` [PATCH v1 11/27] diff-merges: new function diff_merges_set_dense_combined_if_unset() Sergey Organov
2020-11-08 21:38   ` [PATCH v1 12/27] diff-merges: introduce revs->first_parent_merges flag Sergey Organov
2020-11-08 21:38   ` [PATCH v1 13/27] diff-merges: revise revs->diff flag handling Sergey Organov
2020-11-08 21:38   ` [PATCH v1 14/27] t4013: support test_expect_failure through ':failure' magic Sergey Organov
2020-11-08 21:38   ` [PATCH v1 15/27] t4013: add tests for -m failing to override -c/--cc Sergey Organov
2020-11-08 21:38   ` [PATCH v1 16/27] diff-merges: fix -m to properly " Sergey Organov
2020-11-08 21:38   ` [PATCH v1 17/27] diff-merges: split 'ignore_merges' field Sergey Organov
2020-11-08 21:38   ` [PATCH v1 18/27] diff-merges: group diff-merge flags next to each other inside 'rev_info' Sergey Organov
2020-11-08 21:38   ` [PATCH v1 19/27] diff-merges: get rid of now empty diff_merges_init_revs() Sergey Organov
2020-11-08 21:38   ` [PATCH v1 20/27] diff-merges: refactor opt settings into separate functions Sergey Organov
2020-11-08 21:38   ` [PATCH v1 21/27] diff-merges: make -m/-c/--cc explicitly mutually exclusive Sergey Organov
2020-11-08 21:38   ` [PATCH v1 22/27] diff-merges: implement new values for --diff-merges Sergey Organov
2020-11-08 21:38   ` [PATCH v1 23/27] t4013: add test for --diff-merges=first-parent Sergey Organov
2020-11-08 21:38   ` [PATCH v1 24/27] doc/git-log: describe new --diff-merges options Sergey Organov
2020-12-03  6:09     ` Elijah Newren
2020-12-03 19:34       ` Sergey Organov
2020-12-03 20:22         ` Elijah Newren
2020-12-04 17:34           ` Sergey Organov
2020-12-04 18:33             ` Elijah Newren
2020-12-04 19:58               ` Sergey Organov
2020-12-04 20:01                 ` Elijah Newren
2020-11-08 21:38   ` [PATCH v1 25/27] doc/diff-generate-patch: mention new --diff-merges option Sergey Organov
2020-11-08 21:38   ` [PATCH v1 26/27] doc/rev-list-options: document --first-parent implies --diff-merges=first-parent Sergey Organov
2020-11-08 21:38   ` [PATCH v1 27/27] doc/git-show: include --diff-merges description Sergey Organov
2020-12-03 16:47     ` Elijah Newren
2020-12-03 19:52       ` Sergey Organov
2020-12-03  7:54   ` [PATCH v1 00/27] git-log: implement new --diff-merge options Elijah Newren
2020-12-03 19:48     ` Sergey Organov
2020-12-03 20:39       ` Elijah Newren
2020-12-04 19:23         ` Sergey Organov
2020-12-05 17:49           ` Elijah Newren
2020-12-05 19:44             ` Sergey Organov
2020-12-05 20:09               ` Elijah Newren [this message]
2020-12-06 16:39                 ` Sergey Organov
2020-12-08 20:07 ` [PATCH 00/26] " Sergey Organov
2020-12-08 20:52   ` Elijah Newren
2020-12-08 22:30     ` Sergey Organov
2020-12-08 23:11       ` Elijah Newren
2020-12-09  1:17         ` Junio C Hamano
2020-12-09  3:06           ` Elijah Newren
2020-12-09  3:22             ` Junio C Hamano
2020-12-09  3:31               ` Elijah Newren
2020-12-09  4:18                 ` Junio C Hamano
2020-12-09  4:54                   ` Elijah Newren
2020-12-09  5:24                     ` Junio C Hamano
2020-12-09  6:40                       ` Junio C Hamano
2020-12-09 14:08                         ` Sergey Organov
2020-12-09 20:53                           ` Junio C Hamano
2020-12-09 19:44                         ` Sergey Organov
2020-12-10  6:12                           ` Junio C Hamano
2020-12-10  7:26                           ` Elijah Newren
2020-12-10 20:10                             ` Sergey Organov
2020-12-10 21:15                               ` Junio C Hamano
2020-12-10 21:26                             ` Junio C Hamano
2020-12-09 13:34                     ` Sergey Organov
2020-12-16 18:48 ` [PATCH v2 00/33] " Sergey Organov
2020-12-16 18:48   ` [PATCH v2 01/33] revision: factor out parsing of diff-merge related options Sergey Organov
2020-12-16 18:48   ` [PATCH v2 02/33] revision: factor out setup of diff-merge related settings Sergey Organov
2020-12-16 18:48   ` [PATCH v2 03/33] revision: factor out initialization " Sergey Organov
2020-12-16 18:49   ` [PATCH v2 04/33] revision: provide implementation for diff merges tweaks Sergey Organov
2020-12-16 18:49   ` [PATCH v2 05/33] revision: move diff merges functions to its own diff-merges.c Sergey Organov
2020-12-16 18:49   ` [PATCH v2 06/33] diff-merges: rename all functions to have common prefix Sergey Organov
2020-12-16 18:49   ` [PATCH v2 07/33] diff-merges: move checks for first_parent_only out of the module Sergey Organov
2020-12-16 18:49   ` [PATCH v2 08/33] diff-merges: rename diff_merges_default_to_enable() to match semantics Sergey Organov
2020-12-16 18:49   ` [PATCH v2 09/33] diff-merges: re-arrange functions to match the order they are called in Sergey Organov
2020-12-16 18:49   ` [PATCH v2 10/33] diff-merges: new function diff_merges_suppress() Sergey Organov
2020-12-16 18:49   ` [PATCH v2 11/33] diff-merges: new function diff_merges_set_dense_combined_if_unset() Sergey Organov
2020-12-16 18:49   ` [PATCH v2 12/33] diff-merges: introduce revs->first_parent_merges flag Sergey Organov
2020-12-16 18:49   ` [PATCH v2 13/33] diff-merges: revise revs->diff flag handling Sergey Organov
2020-12-16 18:49   ` [PATCH v2 14/33] t4013: support test_expect_failure through ':failure' magic Sergey Organov
2020-12-16 18:49   ` [PATCH v2 15/33] t4013: add tests for -m failing to override -c/--cc Sergey Organov
2020-12-16 18:49   ` [PATCH v2 16/33] diff-merges: fix -m to properly " Sergey Organov
2020-12-16 18:49   ` [PATCH v2 17/33] diff-merges: split 'ignore_merges' field Sergey Organov
2020-12-16 18:49   ` [PATCH v2 18/33] diff-merges: group diff-merge flags next to each other inside 'rev_info' Sergey Organov
2020-12-16 18:49   ` [PATCH v2 19/33] diff-merges: get rid of now empty diff_merges_init_revs() Sergey Organov
2020-12-16 18:49   ` [PATCH v2 20/33] diff-merges: refactor opt settings into separate functions Sergey Organov
2020-12-16 18:49   ` [PATCH v2 21/33] diff-merges: make -m/-c/--cc explicitly mutually exclusive Sergey Organov
2020-12-16 18:49   ` [PATCH v2 22/33] diff-merges: implement new values for --diff-merges Sergey Organov
2020-12-18  5:39     ` Elijah Newren
2020-12-18 14:12       ` Sergey Organov
2020-12-18 16:42         ` Elijah Newren
2020-12-18 21:00           ` Sergey Organov
2020-12-16 18:49   ` [PATCH v2 23/33] diff-merges: fix style of functions definitions Sergey Organov
2020-12-18  5:42     ` Elijah Newren
2020-12-18 13:41       ` Sergey Organov
2020-12-18 16:12         ` Elijah Newren
2020-12-18 21:23           ` Sergey Organov
2020-12-18 22:56             ` Elijah Newren
2020-12-19  1:00               ` Felipe Contreras
2020-12-19 11:59               ` Sergey Organov
2020-12-20 19:15                 ` Sergey Organov
2020-12-21  3:09                   ` Felipe Contreras
2020-12-19  1:41         ` Junio C Hamano
2020-12-16 18:49   ` [PATCH v2 24/33] diff-merges: handle imply -p on -c/--cc logic for log.c Sergey Organov
2020-12-18  6:00     ` Elijah Newren
2020-12-18 14:01       ` Sergey Organov
2020-12-18 16:37         ` Elijah Newren
2020-12-18 21:45           ` Sergey Organov
2020-12-18 22:12             ` Elijah Newren
2020-12-18 22:17               ` Sergey Organov
2020-12-16 18:49   ` [PATCH v2 25/33] diff-merges: do not imply -p for new options Sergey Organov
2020-12-16 18:49   ` [PATCH v2 26/33] diff-merges: let new options enable diff without -p Sergey Organov
2020-12-18  6:12     ` Elijah Newren
2020-12-18 14:42       ` Sergey Organov
2020-12-18 17:01         ` Elijah Newren
2020-12-18 20:32           ` Sergey Organov
2020-12-18 22:06             ` Elijah Newren
2020-12-18 22:19               ` Sergey Organov
2020-12-18 20:53           ` Sergey Organov
2020-12-19 12:11           ` Sergey Organov
2020-12-19 13:35             ` Felipe Contreras
2020-12-19 16:23               ` Sergey Organov
2020-12-20 19:07         ` Sergey Organov
2020-12-19 13:36     ` Felipe Contreras
2020-12-19 16:19       ` Sergey Organov
2020-12-16 18:49   ` [PATCH v2 27/33] diff-merges: add old mnemonic counterparts to --diff-merges Sergey Organov
2020-12-16 18:49   ` [PATCH v2 28/33] diff-merges: add '--diff-merges=1' as synonym for 'first-parent' Sergey Organov
2020-12-18  6:19     ` Elijah Newren
2020-12-18 14:45       ` Sergey Organov
2020-12-16 18:49   ` [PATCH v2 29/33] doc/git-log: describe new --diff-merges options Sergey Organov
2020-12-18  5:53     ` Elijah Newren
2020-12-18 16:05       ` Sergey Organov
2020-12-18 17:25         ` Elijah Newren
2020-12-18 22:11           ` Sergey Organov
2020-12-18 22:28             ` Elijah Newren
2020-12-16 18:49   ` [PATCH v2 30/33] doc/diff-generate-patch: mention new --diff-merges option Sergey Organov
2020-12-16 18:49   ` [PATCH v2 31/33] doc/rev-list-options: document --first-parent changes merges format Sergey Organov
2020-12-16 18:49   ` [PATCH v2 32/33] doc/git-show: include --diff-merges description Sergey Organov
2020-12-16 18:49   ` [PATCH v2 33/33] t4013: add tests for --diff-merges=first-parent Sergey Organov
2020-12-18  6:54   ` [PATCH v2 00/33] git-log: implement new --diff-merge options Elijah Newren
2020-12-18 13:39     ` Sergey Organov
2020-12-21 15:19 ` [PATCH v3 00/32] " Sergey Organov
2020-12-21 15:19   ` [PATCH v3 01/32] revision: factor out parsing of diff-merge related options Sergey Organov
2020-12-21 15:19   ` [PATCH v3 02/32] revision: factor out setup of diff-merge related settings Sergey Organov
2020-12-21 15:19   ` [PATCH v3 03/32] revision: factor out initialization " Sergey Organov
2020-12-21 15:19   ` [PATCH v3 04/32] revision: provide implementation for diff merges tweaks Sergey Organov
2020-12-21 15:19   ` [PATCH v3 05/32] revision: move diff merges functions to its own diff-merges.c Sergey Organov
2020-12-21 15:19   ` [PATCH v3 06/32] diff-merges: rename all functions to have common prefix Sergey Organov
2020-12-21 15:19   ` [PATCH v3 07/32] diff-merges: move checks for first_parent_only out of the module Sergey Organov
2020-12-21 15:19   ` [PATCH v3 08/32] diff-merges: rename diff_merges_default_to_enable() to match semantics Sergey Organov
2020-12-21 15:19   ` [PATCH v3 09/32] diff-merges: re-arrange functions to match the order they are called in Sergey Organov
2020-12-21 15:19   ` [PATCH v3 10/32] diff-merges: new function diff_merges_suppress() Sergey Organov
2020-12-21 15:19   ` [PATCH v3 11/32] diff-merges: new function diff_merges_set_dense_combined_if_unset() Sergey Organov
2020-12-21 15:19   ` [PATCH v3 12/32] diff-merges: introduce revs->first_parent_merges flag Sergey Organov
2020-12-21 15:19   ` [PATCH v3 13/32] diff-merges: handle imply -p on -c/--cc logic for log.c Sergey Organov
2020-12-21 15:19   ` [PATCH v3 14/32] diff-merges: revise revs->diff flag handling Sergey Organov
2020-12-21 15:19   ` [PATCH v3 15/32] t4013: support test_expect_failure through ':failure' magic Sergey Organov
2020-12-21 15:19   ` [PATCH v3 16/32] t4013: add tests for -m failing to override -c/--cc Sergey Organov
2020-12-21 15:19   ` [PATCH v3 17/32] diff-merges: fix -m to properly " Sergey Organov
2020-12-21 15:19   ` [PATCH v3 18/32] diff-merges: split 'ignore_merges' field Sergey Organov
2020-12-21 15:19   ` [PATCH v3 19/32] diff-merges: group diff-merge flags next to each other inside 'rev_info' Sergey Organov
2020-12-21 15:19   ` [PATCH v3 20/32] diff-merges: get rid of now empty diff_merges_init_revs() Sergey Organov
2020-12-21 15:19   ` [PATCH v3 21/32] diff-merges: refactor opt settings into separate functions Sergey Organov
2020-12-21 15:19   ` [PATCH v3 22/32] diff-merges: make -m/-c/--cc explicitly mutually exclusive Sergey Organov
2020-12-21 15:19   ` [PATCH v3 23/32] diff-merges: implement new values for --diff-merges Sergey Organov
2020-12-21 15:19   ` [PATCH v3 24/32] diff-merges: do not imply -p for new options Sergey Organov
2020-12-21 15:19   ` [PATCH v3 25/32] diff-merges: let new options enable diff without -p Sergey Organov
2020-12-21 18:40     ` Felipe Contreras
2020-12-21 20:07       ` Sergey Organov
2020-12-21 15:19   ` [PATCH v3 26/32] diff-merges: add old mnemonic counterparts to --diff-merges Sergey Organov
2020-12-21 15:19   ` [PATCH v3 27/32] diff-merges: add '--diff-merges=1' as synonym for 'first-parent' Sergey Organov
2020-12-21 15:19   ` [PATCH v3 28/32] doc/git-log: describe new --diff-merges options Sergey Organov
2020-12-21 15:19   ` [PATCH v3 29/32] doc/diff-generate-patch: mention new --diff-merges option Sergey Organov
2020-12-21 15:19   ` [PATCH v3 30/32] doc/rev-list-options: document --first-parent changes merges format Sergey Organov
2020-12-21 15:19   ` [PATCH v3 31/32] doc/git-show: include --diff-merges description Sergey Organov
2020-12-21 15:20   ` [PATCH v3 32/32] t4013: add tests for --diff-merges=first-parent Sergey Organov
2021-01-16  7:01   ` [PATCH v3 00/32] git-log: implement new --diff-merge options Junio C Hamano
2021-01-16  9:17     ` 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=CABPp-BFWsdb3ECcvQjN7_v2krsKAqhqv3CDWvQ9d20Oy521Vag@mail.gmail.com \
    --to=newren@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=philipoakley@iee.email \
    --cc=sorganov@gmail.com \
    --subject='Re: [PATCH v1 00/27] git-log: implement new --diff-merge options' \
    /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

Code repositories for project(s) associated with this 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).