about summary refs log tree commit diff
path: root/cgit.c
diff options
context:
space:
mode:
authorTobias Bieniek <Tobias.Bieniek@gmx.de>2012-10-13 16:10:30 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2012-10-17 16:30:29 +0200
commit792f813d342013124ce40142fef4afee3ff00df3 (patch)
tree9d42fff81b16cba44c8c765f2866cc79ddb507cd /cgit.c
parentui-repolist: Add "section-sort" flag to control section sorting. (diff)
downloadcgit-pink-792f813d342013124ce40142fef4afee3ff00df3.tar.gz
cgit-pink-792f813d342013124ce40142fef4afee3ff00df3.zip
ui-log: Add "commit-sort" option for controlling commit ordering
This makes it possible to use strict commit date ordering or strict
topological ordering by passing the corresponding flags to "git log".

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/cgit.c b/cgit.c
index 35f0da1..a97ed69 100644
--- a/cgit.c
+++ b/cgit.c
@@ -84,7 +84,12 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value)
 		repo->enable_remote_branches = atoi(value);
 	else if (!strcmp(name, "enable-subject-links"))
 		repo->enable_subject_links = atoi(value);
-	else if (!strcmp(name, "max-stats"))
+	else if (!strcmp(name, "commit-sort")) {
+		if (!strcmp(value, "date"))
+			repo->commit_sort = 1;
+		if (!strcmp(value, "topo"))
+			repo->commit_sort = 2;
+	} else if (!strcmp(name, "max-stats"))
 		repo->max_stats = cgit_find_stats_period(value, NULL);
 	else if (!strcmp(name, "module-link"))
 		repo->module_link= xstrdup(value);
@@ -261,7 +266,12 @@ void config_cb(const char *name, const char *value)
 		ctx.cfg.clone_url = xstrdup(value);
 	else if (!strcmp(name, "local-time"))
 		ctx.cfg.local_time = atoi(value);
-	else if (!prefixcmp(name, "mimetype."))
+	else if (!strcmp(name, "commit-sort")) {
+		if (!strcmp(value, "date"))
+			ctx.cfg.commit_sort = 1;
+		if (!strcmp(value, "topo"))
+			ctx.cfg.commit_sort = 2;
+	} else if (!prefixcmp(name, "mimetype."))
 		add_mimetype(name + 9, value);
 	else if (!strcmp(name, "include"))
 		parse_configfile(expand_macros(value), config_cb);