-rw-r--r-- | cgit.c | 3 | ||||
-rw-r--r-- | ui-stats.c | 8 | ||||
-rw-r--r-- | ui-stats.h | 1 |
3 files changed, 12 insertions, 0 deletions
@@ -482,24 +482,27 @@ void print_repo(FILE *f, struct cgit_repo *repo) repo->enable_log_linecount); if (repo->about_filter && repo->about_filter != ctx.cfg.about_filter) fprintf(f, "repo.about-filter=%s\n", repo->about_filter->cmd); if (repo->commit_filter && repo->commit_filter != ctx.cfg.commit_filter) fprintf(f, "repo.commit-filter=%s\n", repo->commit_filter->cmd); if (repo->source_filter && repo->source_filter != ctx.cfg.source_filter) fprintf(f, "repo.source-filter=%s\n", repo->source_filter->cmd); if (repo->snapshots != ctx.cfg.snapshots) { char *tmp = build_snapshot_setting(repo->snapshots); fprintf(f, "repo.snapshots=%s\n", tmp); free(tmp); } + if (repo->max_stats != ctx.cfg.max_stats) + fprintf(f, "repo.max-stats=%s\n", + cgit_find_stats_periodname(repo->max_stats)); fprintf(f, "\n"); } void print_repolist(FILE *f, struct cgit_repolist *list, int start) { int i; for(i = start; i < list->count; i++) print_repo(f, &list->repos[i]); } /* Scan 'path' for git repositories, save the resulting repolist in 'cached_rc' @@ -145,24 +145,32 @@ int cgit_find_stats_period(const char *expr, struct cgit_period **period) if (strlen(expr) == 1) code = expr[0]; for (i = 0; i < sizeof(periods) / sizeof(periods[0]); i++) if (periods[i].code == code || !strcmp(periods[i].name, expr)) { if (period) *period = &periods[i]; return i+1; } return 0; } +const char *cgit_find_stats_periodname(int idx) +{ + if (idx > 0 && idx < 4) + return periods[idx - 1].name; + else + return ""; +} + static void add_commit(struct string_list *authors, struct commit *commit, struct cgit_period *period) { struct commitinfo *info; struct string_list_item *author, *item; struct authorstat *authorstat; struct string_list *items; char *tmp; struct tm *date; time_t t; info = cgit_parse_commit(commit); @@ -12,16 +12,17 @@ struct cgit_period { /* Convert a tm value to the first day in the period */ void (*trunc)(struct tm *tm); /* Update tm value to start of next/previous period */ void (*dec)(struct tm *tm); void (*inc)(struct tm *tm); /* Pretty-print a tm value */ char *(*pretty)(struct tm *tm); }; extern int cgit_find_stats_period(const char *expr, struct cgit_period **period); +extern const char *cgit_find_stats_periodname(int idx); extern void cgit_show_stats(struct cgit_context *ctx); #endif /* UI_STATS_H */ |