summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-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
@@ -144,4 +144,5 @@ 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;
diff --git a/shared.c b/shared.c
index d815cb1..7e5eaba 100644
--- a/shared.c
+++ b/shared.c
@@ -39,4 +39,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;
@@ -182,4 +183,6 @@ void cgit_global_config_cb(const char *name, const char *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);
diff --git a/ui-summary.c b/ui-summary.c
index 43582da..3d5eda8 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -163,5 +163,5 @@ static void cgit_print_branches()
}
-static void cgit_print_tags()
+static void cgit_print_tags(int maxcount)
{
struct reflist list;
@@ -175,6 +175,10 @@ static void cgit_print_tags()
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]);
}
@@ -207,5 +211,5 @@ void cgit_print_summary()
cgit_print_branches();
html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>");
- cgit_print_tags();
+ cgit_print_tags(cgit_summary_tags);
html("</table>");
}