All of lore.kernel.org
 help / color / mirror / 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:10 UTC|newest]

Thread overview: 232+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-01 19:33 [PATCH 00/26] git-log: implement new --diff-merge options 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

* 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 \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.