revision: factor out setup of diff-merge related settings

Move all the setting code related to diffing merges into new setup_diff_merge_revs() function. Signed-off-by: Sergey Organov <sorganov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sergey Organov committed Dec 21, 2020 at 18:19 UTC 299a66344065583162518cd8b65e2b91132eb1ac
1 file changed +12 -6
revision.c
+12 -6
@@ -2192,6 +2192,16 @@ static int parse_diff_merge_opts(struct rev_info *revs, const char **argv)
2192 return argcount;
2193 }
2194
2195 +static void setup_diff_merges_revs(struct rev_info *revs)
2196 +{
2197 + if (revs->combine_merges && revs->ignore_merges < 0)
2198 + revs->ignore_merges = 0;
2199 + if (revs->ignore_merges < 0)
2200 + revs->ignore_merges = 1;
2201 + if (revs->combined_all_paths && !revs->combine_merges)
2202 + die("--combined-all-paths makes no sense without -c or --cc");
2203 +}
2204 +
2205 static int handle_revision_opt(struct rev_info *revs, int argc, const char **argv,
2206 int *unkc, const char **unkv,
2207 const struct setup_revision_opt* opt)
@@ -2886,12 +2896,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
2896 copy_pathspec(&revs->diffopt.pathspec,
2897 &revs->prune_data);
2898 }
2889 - if (revs->combine_merges && revs->ignore_merges < 0)
2890 - revs->ignore_merges = 0;
2891 - if (revs->ignore_merges < 0)
2892 - revs->ignore_merges = 1;
2893 - if (revs->combined_all_paths && !revs->combine_merges)
2894 - die("--combined-all-paths makes no sense without -c or --cc");
2899 +
2900 + setup_diff_merges_revs(revs);
2901
2902 revs->diffopt.abbrev = revs->abbrev;
2903