"Elijah Newren via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Elijah Newren <newren@xxxxxxxxx> [...] > diff --git a/diff-merges.c b/diff-merges.c > index d897fd8a293..3a24c45b8e5 100644 > --- a/diff-merges.c > +++ b/diff-merges.c > @@ -17,6 +17,7 @@ static void suppress(struct rev_info *revs) > revs->combined_all_paths = 0; > revs->merges_imply_patch = 0; > revs->merges_need_diff = 0; > + revs->remerge_diff = 0; > } > > static void set_separate(struct rev_info *revs) > @@ -45,6 +46,12 @@ static void set_dense_combined(struct rev_info *revs) > revs->dense_combined_merges = 1; > } > > +static void set_remerge_diff(struct rev_info *revs) > +{ > + suppress(revs); > + revs->remerge_diff = 1; > +} > + > static diff_merges_setup_func_t func_by_opt(const char *optarg) > { > if (!strcmp(optarg, "off") || !strcmp(optarg, "none")) > @@ -57,6 +64,8 @@ static diff_merges_setup_func_t func_by_opt(const char *optarg) > return set_combined; > else if (!strcmp(optarg, "cc") || !strcmp(optarg, "dense-combined")) > return set_dense_combined; > + else if (!strcmp(optarg, "r") || !strcmp(optarg, "remerge")) > + return set_remerge_diff; > else if (!strcmp(optarg, "m") || !strcmp(optarg, "on")) > return set_to_default; > return NULL; > @@ -113,6 +122,9 @@ int diff_merges_parse_opts(struct rev_info *revs, const char **argv) > } else if (!strcmp(arg, "--cc")) { > set_dense_combined(revs); > revs->merges_imply_patch = 1; > + } else if (!strcmp(arg, "--remerge-diff")) { > + set_remerge_diff(revs); > + revs->merges_imply_patch = 1; > } else if (!strcmp(arg, "--no-diff-merges")) { > suppress(revs); > } else if (!strcmp(arg, "--combined-all-paths")) { The diff-merges options handling looks fine to me. Thanks, -- Sergey Organov