X-Git-Url: https://git.cameronkatri.com/cgit.git/blobdiff_plain/e4ddc8f72b5a7d8c55a6c2042c7b7f945ba4b1a2..59fe348deaa270434f05afc56ca8d13618af9ca9:/ui-stats.c diff --git a/ui-stats.c b/ui-stats.c index 946a6ea..480c8ee 100644 --- a/ui-stats.c +++ b/ui-stats.c @@ -1,5 +1,3 @@ -#include - #include "cgit.h" #include "html.h" #include "ui-shared.h" @@ -25,21 +23,21 @@ static void trunc_week(struct tm *tm) { time_t t = timegm(tm); t -= ((tm->tm_wday + 6) % 7) * DAY_SECS; - gmtime_r(&t, tm); + gmtime_r(&t, tm); } static void dec_week(struct tm *tm) { time_t t = timegm(tm); t -= WEEK_SECS; - gmtime_r(&t, tm); + gmtime_r(&t, tm); } static void inc_week(struct tm *tm) { time_t t = timegm(tm); t += WEEK_SECS; - gmtime_r(&t, tm); + gmtime_r(&t, tm); } static char *pretty_week(struct tm *tm) @@ -85,7 +83,7 @@ static char *pretty_month(struct tm *tm) static void trunc_quarter(struct tm *tm) { trunc_month(tm); - while(tm->tm_mon % 3 != 0) + while (tm->tm_mon % 3 != 0) dec_month(tm); } @@ -155,7 +153,7 @@ int cgit_find_stats_period(const char *expr, struct cgit_period **period) if (periods[i].code == code || !strcmp(periods[i].name, expr)) { if (period) *period = &periods[i]; - return i+1; + return i + 1; } return 0; } @@ -213,8 +211,8 @@ static int cmp_total_commits(const void *a1, const void *a2) /* Walk the commit DAG and collect number of commits per author per * timeperiod into a nested string_list collection. */ -struct string_list collect_stats(struct cgit_context *ctx, - struct cgit_period *period) +static struct string_list collect_stats(struct cgit_context *ctx, + struct cgit_period *period) { struct string_list authors; struct rev_info rev; @@ -241,7 +239,7 @@ struct string_list collect_stats(struct cgit_context *ctx, init_revisions(&rev, NULL); rev.abbrev = DEFAULT_ABBREV; rev.commit_format = CMIT_FMT_DEFAULT; - rev.no_merges = 1; + rev.max_parents = 1; rev.verbose_header = 1; rev.show_root_diff = 0; setup_revisions(argc, argv, &rev, NULL); @@ -255,9 +253,12 @@ struct string_list collect_stats(struct cgit_context *ctx, return authors; } -void print_combined_authorrow(struct string_list *authors, int from, int to, - const char *name, const char *leftclass, const char *centerclass, - const char *rightclass, struct cgit_period *period) +static void print_combined_authorrow(struct string_list *authors, int from, + int to, const char *name, + const char *leftclass, + const char *centerclass, + const char *rightclass, + struct cgit_period *period) { struct string_list_item *author; struct authorstat *authorstat; @@ -295,8 +296,8 @@ void print_combined_authorrow(struct string_list *authors, int from, int to, htmlf("%ld", rightclass, total); } -void print_authors(struct string_list *authors, int top, - struct cgit_period *period) +static void print_authors(struct string_list *authors, int top, + struct cgit_period *period) { struct string_list_item *author; struct authorstat *authorstat; @@ -388,6 +389,33 @@ void cgit_show_stats(struct cgit_context *ctx) top = ctx->qry.ofs; if (!top) top = 10; + + html("
"); + html("stat options"); + html("
"); + cgit_add_hidden_formfields(1, 0, "stats"); + html(""); + if (ctx->repo->max_stats > 1) { + html(""); + html(""); + } + html(""); + html(""); + html("
Period:
Authors:
"); + html(""); + html("
"); + html("
"); + html("
"); htmlf("

Commits per author per %s", period->name); if (ctx->qry.path) { html(" (path '"); @@ -395,30 +423,6 @@ void cgit_show_stats(struct cgit_context *ctx) html("')"); } html("

"); - - html("
"); - cgit_add_hidden_formfields(1, 0, "stats"); - if (ctx->repo->max_stats > 1) { - html("Period: "); - html("

"); - } - html("Authors: "); - html(""); - html(""); - html(""); - html("
"); print_authors(&authors, top, period); }