git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Sergey Organov <sorganov@gmail.com>
To: Elijah Newren <newren@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 v2 26/33] diff-merges: let new options enable diff without -p
Date: Fri, 18 Dec 2020 17:42:10 +0300	[thread overview]
Message-ID: <87wnxfb2gt.fsf@osv.gnss.ru> (raw)
In-Reply-To: <CABPp-BHu2xLZLfwBg+hzNEKQ0K=EyT1HLqJO9=pNzBFf4MqR=A@mail.gmail.com> (Elijah Newren's message of "Thu, 17 Dec 2020 22:12:11 -0800")

Elijah Newren <newren@gmail.com> writes:

> On Wed, Dec 16, 2020 at 10:50 AM Sergey Organov <sorganov@gmail.com> wrote:
>>
>> New options don't have any visible effect unless -p is either given or
>> implied, as unlike -c/-cc we don't imply -p with --diff-merges. To fix
>> this, this patch adds new functionality by letting new options enable
>> output of diffs for merge commits only.
>>
>> Add 'merges_need_diff' field and set it whenever diff output for merges is
>> enabled by any of the new options.
>>
>> Extend diff output logic accordingly, to output diffs for merges when
>> 'merges_need_diff' is set even when no -p has been provided.
>>
>> Signed-off-by: Sergey Organov <sorganov@gmail.com>
>> ---
>>  diff-merges.c | 16 ++++++++++------
>>  log-tree.c    | 13 +++++++++----
>>  revision.h    |  1 +
>>  3 files changed, 20 insertions(+), 10 deletions(-)
>>
>> diff --git a/diff-merges.c b/diff-merges.c
>> index 725db2312074..ffe20d8daa4a 100644
>> --- a/diff-merges.c
>> +++ b/diff-merges.c
>> @@ -10,6 +10,7 @@ static void suppress(struct rev_info *revs)
>>         revs->dense_combined_merges = 0;
>>         revs->combined_all_paths = 0;
>>         revs->combined_imply_patch = 0;
>> +       revs->merges_need_diff = 0;
>>  }
>>
>>  static void set_separate(struct rev_info *revs)
>> @@ -51,9 +52,11 @@ static void set_dense_combined(struct rev_info *revs)
>>
>>  static void set_diff_merges(struct rev_info *revs, const char *optarg)
>>  {
>
>> +       if (!strcmp(optarg, "off") || !strcmp(optarg, "none")) {
>> +               suppress(revs);
>> +               return;
>> +       }
>>         if (0) ;
>> -       else if (!strcmp(optarg, "off")   || !strcmp(optarg, "none"))
>> -               suppress(revs);
>
> The "if (0) ;" is still really weird.

An idiom (see my previous answer). I'm fine getting rid of it if you
guys find it weird (that I'm not).

>
>>         else if (!strcmp(optarg, "first") || !strcmp(optarg, "first-parent"))
>>                 set_first_parent(revs);
>>         else if (!strcmp(optarg, "sep")   || !strcmp(optarg, "separate"))
>> @@ -64,6 +67,7 @@ static void set_diff_merges(struct rev_info *revs, const char *optarg)
>>                 set_dense_combined(revs);
>>         else
>>                 die(_("unknown value for --diff-merges: %s"), optarg);
>> +       revs->merges_need_diff = 1;
>
> I'd put this above the if-else-else block, to make it clearer why you
> are returning early for the "off"/"none" case.

Yeah, makes sense, thanks!

>
>>  }
>>
>>  /*
>> @@ -132,12 +136,12 @@ void diff_merges_setup_revs(struct rev_info *revs)
>>                 revs->first_parent_merges = 0;
>>         if (revs->combined_all_paths && !revs->combine_merges)
>>                 die("--combined-all-paths makes no sense without -c or --cc");
>> -       if (revs->combine_merges)
>> +
>> +       if (revs->combined_imply_patch)
>>                 revs->diff = 1;
>> -       if (revs->combined_imply_patch) {
>> -               /* Turn --cc/-c into -p --cc/-c when -p was not given */
>> +
>> +       if (revs->combined_imply_patch || revs->merges_need_diff) {
>>                 if (!revs->diffopt.output_format)
>>                         revs->diffopt.output_format = DIFF_FORMAT_PATCH;
>>         }
>> -
>
> The random space changes squashed in here instead of being combined
> with the earlier patches that introduced the relevant areas break up
> the reading.  Would be nice to clean this up.
>
>>  }
>> diff --git a/log-tree.c b/log-tree.c
>> index f9385b1dae6f..67060492ca0a 100644
>> --- a/log-tree.c
>> +++ b/log-tree.c
>> @@ -899,15 +899,21 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
>>         int showed_log;
>>         struct commit_list *parents;
>>         struct object_id *oid;
>> +       int is_merge;
>> +       int regulars_need_diff = opt->diff || opt->diffopt.flags.exit_with_status;
>
> So rev_info.diff has changed in meaning from
> commits-need-to-show-a-diff, to non-merge-commits-need-to-show-a-diff.
> That's a somewhat subtle semantic shift.  Perhaps it's worth adding a
> comment to the declaration of rev_info.diff to highlight this?  (And
> perhaps even rename the flag?)

No, the meaning of rev_info.diff hopefully didn't change. rev_info.diff
still enables all the commits to pass further once set. It is still
exactly the same old condition, just assigned to a variable for reuse.
My aim was to avoid touching existing logic of this function and only
add a new functionality when opt->merges_need_diff is set.

It looks like I rather choose confusing name for the variable, and it'd
be more clear if I'd call this, say:

  int need_diff = opt->diff || opt->diffopt.flags.exit_with_status;

?

What do you think?

>
>> -       if (!opt->diff && !opt->diffopt.flags.exit_with_status)
>> +       if (!regulars_need_diff && !opt->merges_need_diff)
>>                 return 0;
>>
>>         parse_commit_or_die(commit);
>>         oid = get_commit_tree_oid(commit);
>>
>> -       /* Root commit? */
>>         parents = get_saved_parents(opt, commit);
>> +       is_merge = parents && parents->next;
>> +       if(!is_merge && !regulars_need_diff)
>> +               return 0;
>> +
>> +       /* Root commit? */
>>         if (!parents) {
>>                 if (opt->show_root_diff) {
>>                         diff_root_tree_oid(oid, "", &opt->diffopt);
>> @@ -916,8 +922,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
>>                 return !opt->loginfo;
>>         }
>>
>> -       /* More than one parent? */
>> -       if (parents->next) {
>> +       if (is_merge) {
>>                 if (opt->combine_merges)
>>                         return do_diff_combined(opt, commit);
>>                 if (opt->separate_merges) {
>> diff --git a/revision.h b/revision.h
>> index bfbae526ad6e..494d86142454 100644
>> --- a/revision.h
>> +++ b/revision.h
>> @@ -194,6 +194,7 @@ struct rev_info {
>>                         always_show_header:1,
>>                         /* Diff-merge flags */
>>                         explicit_diff_merges: 1,
>> +                       merges_need_diff: 1,
>>                         separate_merges: 1,
>>                         combine_merges:1,
>>                         combined_all_paths:1,
>> --
>> 2.25.1
>
> The rest makes sense.

Thanks,
-- Sergey


  reply	other threads:[~2020-12-18 14:44 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
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 [this message]
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=87wnxfb2gt.fsf@osv.gnss.ru \
    --to=sorganov@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=newren@gmail.com \
    --cc=peff@peff.net \
    --cc=philipoakley@iee.email \
    /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).