diff mbox series

[v3,23/32] diff-merges: implement new values for --diff-merges

Message ID 20201221152000.13134-24-sorganov@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v3,01/32] revision: factor out parsing of diff-merge related options | expand

Commit Message

Sergey Organov Dec. 21, 2020, 3:19 p.m. UTC
We first implement new options as exact synonyms for their original
counterparts, to get all the infrastructure right, and keep functional
improvements for later commits.

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 mbox series

Patch

diff --git a/diff-merges.c b/diff-merges.c
index e3c0190ebd95..4d22da179577 100644
--- a/diff-merges.c
+++ b/diff-merges.c
@@ -17,6 +17,12 @@  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)
 {
 	/*
@@ -44,11 +50,18 @@  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 (!strcmp(optarg, "off") || !strcmp(optarg, "none"))
 		suppress(revs);
-	} else {
+	else if (!strcmp(optarg, "first-parent"))
+		set_first_parent(revs);
+	else if (!strcmp(optarg, "separate"))
+		set_separate(revs);
+	else if (!strcmp(optarg, "combined"))
+		set_combined(revs);
+	else if (!strcmp(optarg, "dense-combined"))
+		set_dense_combined(revs);
+	else
 		die(_("unknown value for --diff-merges: %s"), optarg);
-	}
 }
 
 /*