all repos — cgit @ fe211c7eef6c7d3e39486d6a7484d3b4debff88f

a hyperfast web frontend for git written in c

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>
Lars Hjemli hjemli@gmail.com
Thu, 25 Oct 2007 10:40:16 +0200
commit

fe211c7eef6c7d3e39486d6a7484d3b4debff88f

parent

ef1cc6ef941cedf2e34fa1ed34ca8cd8a0cfdacc

3 files changed, 11 insertions(+), 3 deletions(-)

jump to
M cgit.hcgit.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;
M shared.cshared.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 @@ else if (!strcmp(name, "max-commit-count"))

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"))
M ui-summary.cui-summary.c

@@ -162,7 +162,7 @@ for(i=0; i<list.count; i++)

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 @@ for_each_tag_ref(cgit_refs_cb, &list);

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 @@ if (cgit_summary_log > 0)

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>"); }