diff options
author | Lars Hjemli | 2009-08-24 10:55:01 +0200 |
---|---|---|
committer | Lars Hjemli | 2009-08-24 10:55:01 +0200 |
commit | 5ca8df0a3d75ba1ca5af28872977f7714b66ff37 (patch) | |
tree | f838611403f384c92fefc3eef69dc75507bb2e9d /cgit.c | |
parent | 3548320004512276ea0bbfe80b2ae9b5cc7e2c76 (diff) | |
download | cgit-5ca8df0a3d75ba1ca5af28872977f7714b66ff37.tar.gz cgit-5ca8df0a3d75ba1ca5af28872977f7714b66ff37.tar.bz2 cgit-5ca8df0a3d75ba1ca5af28872977f7714b66ff37.zip |
cgit.c: generate repo.snapshots in print_repo()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.c')
-rw-r--r-- | cgit.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -437,6 +437,26 @@ int cmp_repos(const void *a, const void *b) | |||
437 | return strcmp(ra->url, rb->url); | 437 | return strcmp(ra->url, rb->url); |
438 | } | 438 | } |
439 | 439 | ||
440 | char *build_snapshot_setting(int bitmap) | ||
441 | { | ||
442 | const struct cgit_snapshot_format *f; | ||
443 | char *result = xstrdup(""); | ||
444 | char *tmp; | ||
445 | int len; | ||
446 | |||
447 | for (f = cgit_snapshot_formats; f->suffix; f++) { | ||
448 | if (f->bit & bitmap) { | ||
449 | tmp = result; | ||
450 | result = xstrdup(fmt("%s%s ", tmp, f->suffix)); | ||
451 | free(tmp); | ||
452 | } | ||
453 | } | ||
454 | len = strlen(result); | ||
455 | if (len) | ||
456 | result[len - 1] = '\0'; | ||
457 | return result; | ||
458 | } | ||
459 | |||
440 | void print_repo(FILE *f, struct cgit_repo *repo) | 460 | void print_repo(FILE *f, struct cgit_repo *repo) |
441 | { | 461 | { |
442 | fprintf(f, "repo.url=%s\n", repo->url); | 462 | fprintf(f, "repo.url=%s\n", repo->url); |
@@ -466,6 +486,11 @@ void print_repo(FILE *f, struct cgit_repo *repo) | |||
466 | fprintf(f, "repo.commit-filter=%s\n", repo->commit_filter->cmd); | 486 | fprintf(f, "repo.commit-filter=%s\n", repo->commit_filter->cmd); |
467 | if (repo->source_filter && repo->source_filter != ctx.cfg.source_filter) | 487 | if (repo->source_filter && repo->source_filter != ctx.cfg.source_filter) |
468 | 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) { | ||
490 | char *tmp = build_snapshot_setting(repo->snapshots); | ||
491 | fprintf(f, "repo.snapshots=%s\n", tmp); | ||
492 | free(tmp); | ||
493 | } | ||
469 | fprintf(f, "\n"); | 494 | fprintf(f, "\n"); |
470 | } | 495 | } |
471 | 496 | ||