X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=revision.c;h=a31434bdc8ed19674d3c4863e009af0c40d75e73;hb=69fb8283937a18a031aeef12ea2a530c8ccf3e83;hp=bf584483675ef55b2ed9b8d8586b92d5432759a5;hpb=d4f6bc887de7957645b998a0b0e22bc4048f36dd;p=git.git diff --git a/revision.c b/revision.c index bf5844836..a31434bdc 100644 --- a/revision.c +++ b/revision.c @@ -1077,6 +1077,8 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg revs->show_all = 1; } else if (!strcmp(arg, "--remove-empty")) { revs->remove_empty_trees = 1; + } else if (!strcmp(arg, "--merges")) { + revs->merges_only = 1; } else if (!strcmp(arg, "--no-merges")) { revs->no_merges = 1; } else if (!strcmp(arg, "--boundary")) { @@ -1676,6 +1678,8 @@ enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit) return commit_ignore; if (revs->no_merges && commit->parents && commit->parents->next) return commit_ignore; + if (revs->merges_only && !(commit->parents && commit->parents->next)) + return commit_ignore; if (!commit_match(commit, revs)) return commit_ignore; if (revs->prune && revs->dense) {