|
|
|
@@ -195,7 +195,8 @@ struct string_list collect_stats(struct cgit_context *ctx, |
195 | struct string_list authors; |
195 | struct string_list authors; |
196 | struct rev_info rev; |
196 | struct rev_info rev; |
197 | struct commit *commit; |
197 | struct commit *commit; |
198 | const char *argv[] = {NULL, ctx->qry.head, NULL, NULL}; |
198 | const char *argv[] = {NULL, ctx->qry.head, NULL, NULL, NULL, NULL}; |
| |
199 | int argc = 3; |
199 | time_t now; |
200 | time_t now; |
200 | long i; |
201 | long i; |
201 | struct tm *tm; |
202 | struct tm *tm; |
@@ -208,13 +209,18 @@ struct string_list collect_stats(struct cgit_context *ctx, |
208 | period->dec(tm); |
209 | period->dec(tm); |
209 | strftime(tmp, sizeof(tmp), "%Y-%m-%d", tm); |
210 | strftime(tmp, sizeof(tmp), "%Y-%m-%d", tm); |
210 | argv[2] = xstrdup(fmt("--since=%s", tmp)); |
211 | argv[2] = xstrdup(fmt("--since=%s", tmp)); |
| |
212 | if (ctx->qry.path) { |
| |
213 | argv[3] = "--"; |
| |
214 | argv[4] = ctx->qry.path; |
| |
215 | argc += 2; |
| |
216 | } |
211 | init_revisions(&rev, NULL); |
217 | init_revisions(&rev, NULL); |
212 | rev.abbrev = DEFAULT_ABBREV; |
218 | rev.abbrev = DEFAULT_ABBREV; |
213 | rev.commit_format = CMIT_FMT_DEFAULT; |
219 | rev.commit_format = CMIT_FMT_DEFAULT; |
214 | rev.no_merges = 1; |
220 | rev.no_merges = 1; |
215 | rev.verbose_header = 1; |
221 | rev.verbose_header = 1; |
216 | rev.show_root_diff = 0; |
222 | rev.show_root_diff = 0; |
217 | setup_revisions(3, argv, &rev, NULL); |
223 | setup_revisions(argc, argv, &rev, NULL); |
218 | prepare_revision_walk(&rev); |
224 | prepare_revision_walk(&rev); |
219 | memset(&authors, 0, sizeof(authors)); |
225 | memset(&authors, 0, sizeof(authors)); |
220 | while ((commit = get_revision(&rev)) != NULL) { |
226 | while ((commit = get_revision(&rev)) != NULL) { |
@@ -351,7 +357,13 @@ void cgit_show_stats(struct cgit_context *ctx) |
351 | top = ctx->qry.ofs; |
357 | top = ctx->qry.ofs; |
352 | if (!top) |
358 | if (!top) |
353 | top = 10; |
359 | top = 10; |
354 | htmlf("<h2>Commits per author per %s</h2>", period->name); |
360 | htmlf("<h2>Commits per author per %s", period->name); |
| |
361 | if (ctx->qry.path) { |
| |
362 | html(" (path '"); |
| |
363 | html_txt(ctx->qry.path); |
| |
364 | html("')"); |
| |
365 | } |
| |
366 | html("</h2>"); |
355 | |
367 | |
356 | html("<form method='get' action='.' style='float: right; text-align: right;'>"); |
368 | html("<form method='get' action='.' style='float: right; text-align: right;'>"); |
357 | if (strcmp(ctx->qry.head, ctx->repo->defbranch)) |
369 | if (strcmp(ctx->qry.head, ctx->repo->defbranch)) |
|