summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2009-08-24 09:02:48 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-08-24 09:02:48 (UTC)
commitb47b7bd1d0fb872763214e674b53a562c7513fc0 (patch) (unidiff)
tree03466abfe90a858ee4f7b09877b095b6a7f50555
parent5ca8df0a3d75ba1ca5af28872977f7714b66ff37 (diff)
downloadcgit-b47b7bd1d0fb872763214e674b53a562c7513fc0.zip
cgit-b47b7bd1d0fb872763214e674b53a562c7513fc0.tar.gz
cgit-b47b7bd1d0fb872763214e674b53a562c7513fc0.tar.bz2
Add and use cgit_find_stats_periodname() in print_repo()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c3
-rw-r--r--ui-stats.c8
-rw-r--r--ui-stats.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index b0e202e..93a7a69 100644
--- a/cgit.c
+++ b/cgit.c
@@ -482,24 +482,27 @@ void print_repo(FILE *f, struct cgit_repo *repo)
482 repo->enable_log_linecount); 482 repo->enable_log_linecount);
483 if (repo->about_filter && repo->about_filter != ctx.cfg.about_filter) 483 if (repo->about_filter && repo->about_filter != ctx.cfg.about_filter)
484 fprintf(f, "repo.about-filter=%s\n", repo->about_filter->cmd); 484 fprintf(f, "repo.about-filter=%s\n", repo->about_filter->cmd);
485 if (repo->commit_filter && repo->commit_filter != ctx.cfg.commit_filter) 485 if (repo->commit_filter && repo->commit_filter != ctx.cfg.commit_filter)
486 fprintf(f, "repo.commit-filter=%s\n", repo->commit_filter->cmd); 486 fprintf(f, "repo.commit-filter=%s\n", repo->commit_filter->cmd);
487 if (repo->source_filter && repo->source_filter != ctx.cfg.source_filter) 487 if (repo->source_filter && repo->source_filter != ctx.cfg.source_filter)
488 fprintf(f, "repo.source-filter=%s\n", repo->source_filter->cmd); 488 fprintf(f, "repo.source-filter=%s\n", repo->source_filter->cmd);
489 if (repo->snapshots != ctx.cfg.snapshots) { 489 if (repo->snapshots != ctx.cfg.snapshots) {
490 char *tmp = build_snapshot_setting(repo->snapshots); 490 char *tmp = build_snapshot_setting(repo->snapshots);
491 fprintf(f, "repo.snapshots=%s\n", tmp); 491 fprintf(f, "repo.snapshots=%s\n", tmp);
492 free(tmp); 492 free(tmp);
493 } 493 }
494 if (repo->max_stats != ctx.cfg.max_stats)
495 fprintf(f, "repo.max-stats=%s\n",
496 cgit_find_stats_periodname(repo->max_stats));
494 fprintf(f, "\n"); 497 fprintf(f, "\n");
495} 498}
496 499
497void print_repolist(FILE *f, struct cgit_repolist *list, int start) 500void print_repolist(FILE *f, struct cgit_repolist *list, int start)
498{ 501{
499 int i; 502 int i;
500 503
501 for(i = start; i < list->count; i++) 504 for(i = start; i < list->count; i++)
502 print_repo(f, &list->repos[i]); 505 print_repo(f, &list->repos[i]);
503} 506}
504 507
505/* Scan 'path' for git repositories, save the resulting repolist in 'cached_rc' 508/* Scan 'path' for git repositories, save the resulting repolist in 'cached_rc'
diff --git a/ui-stats.c b/ui-stats.c
index 9fc06d3..bdaf9cc 100644
--- a/ui-stats.c
+++ b/ui-stats.c
@@ -145,24 +145,32 @@ int cgit_find_stats_period(const char *expr, struct cgit_period **period)
145 if (strlen(expr) == 1) 145 if (strlen(expr) == 1)
146 code = expr[0]; 146 code = expr[0];
147 147
148 for (i = 0; i < sizeof(periods) / sizeof(periods[0]); i++) 148 for (i = 0; i < sizeof(periods) / sizeof(periods[0]); i++)
149 if (periods[i].code == code || !strcmp(periods[i].name, expr)) { 149 if (periods[i].code == code || !strcmp(periods[i].name, expr)) {
150 if (period) 150 if (period)
151 *period = &periods[i]; 151 *period = &periods[i];
152 return i+1; 152 return i+1;
153 } 153 }
154 return 0; 154 return 0;
155} 155}
156 156
157const char *cgit_find_stats_periodname(int idx)
158{
159 if (idx > 0 && idx < 4)
160 return periods[idx - 1].name;
161 else
162 return "";
163}
164
157static void add_commit(struct string_list *authors, struct commit *commit, 165static void add_commit(struct string_list *authors, struct commit *commit,
158 struct cgit_period *period) 166 struct cgit_period *period)
159{ 167{
160 struct commitinfo *info; 168 struct commitinfo *info;
161 struct string_list_item *author, *item; 169 struct string_list_item *author, *item;
162 struct authorstat *authorstat; 170 struct authorstat *authorstat;
163 struct string_list *items; 171 struct string_list *items;
164 char *tmp; 172 char *tmp;
165 struct tm *date; 173 struct tm *date;
166 time_t t; 174 time_t t;
167 175
168 info = cgit_parse_commit(commit); 176 info = cgit_parse_commit(commit);
diff --git a/ui-stats.h b/ui-stats.h
index 4f13dba..f0761ba 100644
--- a/ui-stats.h
+++ b/ui-stats.h
@@ -12,16 +12,17 @@ struct cgit_period {
12 /* Convert a tm value to the first day in the period */ 12 /* Convert a tm value to the first day in the period */
13 void (*trunc)(struct tm *tm); 13 void (*trunc)(struct tm *tm);
14 14
15 /* Update tm value to start of next/previous period */ 15 /* Update tm value to start of next/previous period */
16 void (*dec)(struct tm *tm); 16 void (*dec)(struct tm *tm);
17 void (*inc)(struct tm *tm); 17 void (*inc)(struct tm *tm);
18 18
19 /* Pretty-print a tm value */ 19 /* Pretty-print a tm value */
20 char *(*pretty)(struct tm *tm); 20 char *(*pretty)(struct tm *tm);
21}; 21};
22 22
23extern int cgit_find_stats_period(const char *expr, struct cgit_period **period); 23extern int cgit_find_stats_period(const char *expr, struct cgit_period **period);
24extern const char *cgit_find_stats_periodname(int idx);
24 25
25extern void cgit_show_stats(struct cgit_context *ctx); 26extern void cgit_show_stats(struct cgit_context *ctx);
26 27
27#endif /* UI_STATS_H */ 28#endif /* UI_STATS_H */