Commits

Anonymous committed 76cd8eb

[PATCH] add *--no-merges* flag to suppress display of merge commits

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>

  • Participants
  • Parent commits 4852f72

Comments (0)

Files changed (1)

 		      "  --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;
 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)
 {
 	}
 	if (max_count != -1 && !max_count--)
 		return STOP;
+	if (no_merges && (commit->parents && commit->parents->next))
+		return CONTINUE;
 	return DO;
 }
 
 			prefix = "commit ";
 			continue;
 		}
+		if (!strncmp(arg, "--no-merges", 11)) {
+			no_merges = 1;
+			continue;
+		}
 		if (!strcmp(arg, "--parents")) {
 			show_parents = 1;
 			continue;