Code

[PATCH] add *--no-merges* flag to suppress display of merge commits
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Mon, 8 Aug 2005 09:37:21 +0000 (11:37 +0200)
committerJunio C Hamano <junkio@cox.net>
Wed, 10 Aug 2005 05:28:21 +0000 (22:28 -0700)
As requested by Junio (who suggested --single-parents-only, but this
could forget a no-parent root).

Also, adds a few missing options to the usage string.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
rev-list.c

index fae30a2b68c98555bc8c2e5c9cea84c358ec8363..1a03bf7b3754e1644f9a2cee80d9d09b563ee1ec 100644 (file)
@@ -15,12 +15,15 @@ static const char rev_list_usage[] =
                      "  --max-count=nr\n"
                      "  --max-age=epoch\n"
                      "  --min-age=epoch\n"
+                     "  --parents\n"
                      "  --bisect\n"
                      "  --objects\n"
                      "  --unpacked\n"
                      "  --header\n"
                      "  --pretty\n"
-                     "  --merge-order [ --show-breaks ]";
+                     "  --no-merges\n"
+                     "  --merge-order [ --show-breaks ]\n"
+                     "  --topo-order";
 
 static int unpacked = 0;
 static int bisect_list = 0;
@@ -39,6 +42,7 @@ static int merge_order = 0;
 static int show_breaks = 0;
 static int stop_traversal = 0;
 static int topo_order = 0;
+static int no_merges = 0;
 
 static void show_commit(struct commit *commit)
 {
@@ -82,6 +86,8 @@ static int filter_commit(struct commit * commit)
        }
        if (max_count != -1 && !max_count--)
                return STOP;
+       if (no_merges && (commit->parents && commit->parents->next))
+               return CONTINUE;
        return DO;
 }
 
@@ -500,6 +506,10 @@ int main(int argc, char **argv)
                        prefix = "commit ";
                        continue;
                }
+               if (!strncmp(arg, "--no-merges", 11)) {
+                       no_merges = 1;
+                       continue;
+               }
                if (!strcmp(arg, "--parents")) {
                        show_parents = 1;
                        continue;