about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-10-25 10:40:16 +0200
committerLars Hjemli <hjemli@gmail.com>2007-10-27 10:53:27 +0200
commitfe211c7eef6c7d3e39486d6a7484d3b4debff88f (patch)
tree1b77d4b541cd5848ae1ad8d48e17e7d0f1a8b017
parentSort tags by age (diff)
downloadcgit-magenta-fe211c7eef6c7d3e39486d6a7484d3b4debff88f.tar.xz
Add support for config param summary-tags
This parameter can be used to specify max number of tags to show on
the summary page. If not specified, all tags are printed.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.h1
-rw-r--r--shared.c3
-rw-r--r--ui-summary.c10
3 files changed, 11 insertions, 3 deletions
diff --git a/cgit.h b/cgit.h

index 75e919b..53e1336 100644 --- a/cgit.h +++ b/cgit.h
@@ -143,6 +143,7 @@ extern int cgit_cache_dynamic_ttl; extern int cgit_cache_static_ttl; extern int cgit_cache_max_create_time; extern int cgit_summary_log; +extern int cgit_summary_tags; extern int cgit_max_msg_len; extern int cgit_max_repodesc_len; diff --git a/shared.c b/shared.c
index d815cb1..7e5eaba 100644 --- a/shared.c +++ b/shared.c
@@ -38,6 +38,7 @@ int cgit_cache_dynamic_ttl = 5; int cgit_cache_static_ttl = -1; int cgit_cache_max_create_time = 5; int cgit_summary_log = 0; +int cgit_summary_tags = 0; int cgit_renamelimit = -1; int cgit_max_msg_len = 60; @@ -181,6 +182,8 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_max_commit_count = atoi(value); else if (!strcmp(name, "summary-log")) cgit_summary_log = atoi(value); + else if (!strcmp(name, "summary-tags")) + cgit_summary_tags = atoi(value); else if (!strcmp(name, "agefile")) cgit_agefile = xstrdup(value); else if (!strcmp(name, "renamelimit")) diff --git a/ui-summary.c b/ui-summary.c
index 43582da..3d5eda8 100644 --- a/ui-summary.c +++ b/ui-summary.c
@@ -162,7 +162,7 @@ static void cgit_print_branches() cgit_print_branch(list.refs[i]); } -static void cgit_print_tags() +static void cgit_print_tags(int maxcount) { struct reflist list; int i; @@ -174,8 +174,12 @@ static void cgit_print_tags() if (list.count == 0) return; qsort(list.refs, list.count, sizeof(*list.refs), cmp_tag_age); + if (!maxcount) + maxcount = list.count; + else if (maxcount > list.count) + maxcount = list.count; print_tag_header(); - for(i=0; i<list.count; i++) + for(i=0; i<maxcount; i++) print_tag(list.refs[i]); } @@ -206,6 +210,6 @@ void cgit_print_summary() html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>"); cgit_print_branches(); html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>"); - cgit_print_tags(); + cgit_print_tags(cgit_summary_tags); html("</table>"); }