From d2d02a490669320054065556a61c44b9ac851a07 Mon Sep 17 00:00:00 2001
From: Linus Torvalds <torvalds@g5.osdl.org>
Date: Wed, 6 Jul 2005 10:25:04 -0700
Subject: [PATCH] Add "--topo-order" flag to use new topological sort

---
 rev-list.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/rev-list.c b/rev-list.c
index e4d167c003a..f41adebd8a1 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -39,6 +39,7 @@ static enum cmit_fmt commit_format = CMIT_FMT_RAW;
 static int merge_order = 0;
 static int show_breaks = 0;
 static int stop_traversal = 0;
+static int topo_order = 0;
 
 static void show_commit(struct commit *commit)
 {
@@ -474,6 +475,10 @@ int main(int argc, char **argv)
 			show_breaks = 1;
 			continue;
 		}
+		if (!strcmp(arg, "--topo-order")) {
+		        topo_order = 1;
+			continue;
+		}
 
 		flags = 0;
 		if (*arg == '^') {
@@ -495,6 +500,8 @@ int main(int argc, char **argv)
 	if (!merge_order) {		
 	        if (limited)
 			list = limit_list(list);
+		if (topo_order)
+			sort_in_topological_order(&list);
 		show_commit_list(list);
 	} else {
 		if (sort_list_in_merge_order(list, &process_commit)) {