@@ -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);
- }
}
/*
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(-)