aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tobias Bieniek <Tobias.Bieniek@gmx.de>2012-10-10 03:53:29 (JST)
committerGravatar Jason A. Donenfeld <Jason@zx2c4.com>2012-10-17 23:30:22 (JST)
commit7a4e7c8ffbacfad5ac83ad20426d7911c2eacdeb (patch)
treeb6c00afc3ce98770e645f01cfc0a0ee8384fe0ec
parent521e10c884055c800078e6dada97ccf6c5193aad (diff)
downloadcgit-7a4e7c8ffbacfad5ac83ad20426d7911c2eacdeb.zip
cgit-7a4e7c8ffbacfad5ac83ad20426d7911c2eacdeb.tar.gz
ui-repolist: Add "section-sort" flag to control section sorting.
Flag which, when set to "1", will sort the sections on the repository listing by name. Set this flag to "0" if the order in the cgitrc file should be preserved. Default value: "1". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--cgit.c3
-rw-r--r--cgit.h1
-rw-r--r--cgitrc.5.txt10
-rw-r--r--ui-repolist.c2
4 files changed, 13 insertions, 3 deletions
diff --git a/cgit.c b/cgit.c
index d699cb6..35f0da1 100644
--- a/cgit.c
+++ b/cgit.c
@@ -233,6 +233,8 @@ void config_cb(const char *name, const char *value)
233 ctx.cfg.section_from_path = atoi(value); 233 ctx.cfg.section_from_path = atoi(value);
234 else if (!strcmp(name, "repository-sort")) 234 else if (!strcmp(name, "repository-sort"))
235 ctx.cfg.repository_sort = xstrdup(value); 235 ctx.cfg.repository_sort = xstrdup(value);
236 else if (!strcmp(name, "section-sort"))
237 ctx.cfg.section_sort = atoi(value);
236 else if (!strcmp(name, "source-filter")) 238 else if (!strcmp(name, "source-filter"))
237 ctx.cfg.source_filter = new_filter(value, SOURCE); 239 ctx.cfg.source_filter = new_filter(value, SOURCE);
238 else if (!strcmp(name, "summary-log")) 240 else if (!strcmp(name, "summary-log"))
@@ -361,6 +363,7 @@ static void prepare_context(struct cgit_context *ctx)
361 ctx->cfg.script_name = CGIT_SCRIPT_NAME; 363 ctx->cfg.script_name = CGIT_SCRIPT_NAME;
362 ctx->cfg.section = ""; 364 ctx->cfg.section = "";
363 ctx->cfg.repository_sort = "name"; 365 ctx->cfg.repository_sort = "name";
366 ctx->cfg.section_sort = 1;
364 ctx->cfg.summary_branches = 10; 367 ctx->cfg.summary_branches = 10;
365 ctx->cfg.summary_log = 10; 368 ctx->cfg.summary_log = 10;
366 ctx->cfg.summary_tags = 10; 369 ctx->cfg.summary_tags = 10;
diff --git a/cgit.h b/cgit.h
index 2742058..becf776 100644
--- a/cgit.h
+++ b/cgit.h
@@ -226,6 +226,7 @@ struct cgit_config {
226 int scan_hidden_path; 226 int scan_hidden_path;
227 int section_from_path; 227 int section_from_path;
228 int snapshots; 228 int snapshots;
229 int section_sort;
229 int summary_branches; 230 int summary_branches;
230 int summary_log; 231 int summary_log;
231 int summary_tags; 232 int summary_tags;
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 278de90..78bb9fc 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -72,7 +72,7 @@ cache-static-ttl::
72 72
73case-sensitive-sort:: 73case-sensitive-sort::
74 Sort items in the repo list case sensitively. Default value: "1". 74 Sort items in the repo list case sensitively. Default value: "1".
75 See also: repository-sort. 75 See also: repository-sort, section-sort.
76 76
77clone-prefix:: 77clone-prefix::
78 Space-separated list of common prefixes which, when combined with a 78 Space-separated list of common prefixes which, when combined with a
@@ -332,7 +332,13 @@ repository-sort::
332 The way in which repositories in each section are sorted. Valid values 332 The way in which repositories in each section are sorted. Valid values
333 are "name" for sorting by the repo name or "age" for sorting by the 333 are "name" for sorting by the repo name or "age" for sorting by the
334 most recently updated repository. Default value: "name". See also: 334 most recently updated repository. Default value: "name". See also:
335 section, case-sensitive-sort. 335 section, case-sensitive-sort, section-sort.
336
337section-sort::
338 Flag which, when set to "1", will sort the sections on the repository
339 listing by name. Set this flag to "0" if the order in the cgitrc file should
340 be preserved. Default value: "1". See also: section,
341 case-sensitive-sort, repository-sort.
336 342
337section-from-path:: 343section-from-path::
338 A number which, if specified before scan-path, specifies how many 344 A number which, if specified before scan-path, specifies how many
diff --git a/ui-repolist.c b/ui-repolist.c
index 36c067a..dead1bf 100644
--- a/ui-repolist.c
+++ b/ui-repolist.c
@@ -257,7 +257,7 @@ void cgit_print_repolist()
257 257
258 if(ctx.qry.sort) 258 if(ctx.qry.sort)
259 sorted = sort_repolist(ctx.qry.sort); 259 sorted = sort_repolist(ctx.qry.sort);
260 else 260 else if (ctx.cfg.section_sort)
261 sort_repolist("section"); 261 sort_repolist("section");
262 262
263 html("<table summary='repository list' class='list nowrap'>"); 263 html("<table summary='repository list' class='list nowrap'>");