[PATCH 22/26] diff-merges: implement new values for --diff-merges
- From
Sergey Organov <sorganov@gmail.com>
- Date
- Nov 1, 2020, 19:33 UTC
- Message-ID
- <20201101193330.24775-23-sorganov@gmail.com>
- In-Reply-To
- <20201101193330.24775-1-sorganov@gmail.com>
The following values are implemented:
--diff-merges= old equivalent first|first-parent = --first-parent (only format implications) sep|separate = -m comb|combined = -c dense| dense-combined = --cc
Signed-off-by: Sergey Organov <sorganov@gmail.com> --- diff-merges.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/diff-merges.c b/diff-merges.c index db2217171442..5c35369f7a8c 100644 --- a/diff-merges.c +++ b/diff-merges.c @@ -15,6 +15,11 @@ static void set_separate(struct rev_info *revs) { revs->separate_merges = 1; } +static void set_first_parent(struct rev_info *revs) { + set_separate(revs); + revs->first_parent_merges = 1; +} + static void set_m(struct rev_info *revs) { /* * To "diff-index", "-m" means "match missing", and to the "log" @@ -38,11 +43,19 @@ 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")) { + if (0) ; + else if (!strcmp(optarg, "off") || !strcmp(optarg, "none")) suppress(revs); - } else { + else if (!strcmp(optarg, "first") || !strcmp(optarg, "first-parent")) + set_first_parent(revs); + else if (!strcmp(optarg, "sep") || !strcmp(optarg, "separate")) + set_separate(revs); + else if (!strcmp(optarg, "comb") || !strcmp(optarg, "combined")) + set_combined(revs); + else if (!strcmp(optarg, "dense") || !strcmp(optarg, "dense-combined")) + set_dense_combined(revs); + else die(_("unknown value for --diff-merges: %s"), optarg); - } } /*
-- 2.25.1