-rw-r--r-- | cgit.c | 5 | ||||
-rw-r--r-- | cgit.h | 2 | ||||
-rw-r--r-- | cgitrc.5.txt | 4 | ||||
-rw-r--r-- | cmd.c | 2 | ||||
-rw-r--r-- | ui-atom.c | 4 |
5 files changed, 15 insertions, 2 deletions
@@ -168,8 +168,10 @@ void config_cb(const char *name, const char *value) else if (!strcmp(name, "commit-filter")) ctx.cfg.commit_filter = new_filter(value, 0); else if (!strcmp(name, "embedded")) ctx.cfg.embedded = atoi(value); + else if (!strcmp(name, "max-atom-items")) + ctx.cfg.max_atom_items = atoi(value); else if (!strcmp(name, "max-message-length")) ctx.cfg.max_msg_len = atoi(value); else if (!strcmp(name, "max-repodesc-length")) ctx.cfg.max_repodesc_len = atoi(value); @@ -253,8 +255,10 @@ static void querystring_cb(const char *name, const char *value) } else if (!strcmp(name, "period")) { ctx.qry.period = xstrdup(value); } else if (!strcmp(name, "ss")) { ctx.qry.ssdiff = atoi(value); + } else if (!strcmp(name, "all")) { + ctx.qry.show_all = atoi(value); } } char *xstrdupn(const char *str) @@ -295,8 +299,9 @@ static void prepare_context(struct cgit_context *ctx) ctx->cfg.section = ""; ctx->cfg.summary_branches = 10; ctx->cfg.summary_log = 10; ctx->cfg.summary_tags = 10; + ctx->cfg.max_atom_items = 10; ctx->cfg.ssdiff = 0; ctx->env.cgit_config = xstrdupn(getenv("CGIT_CONFIG")); ctx->env.http_host = xstrdupn(getenv("HTTP_HOST")); ctx->env.https = xstrdupn(getenv("HTTPS")); @@ -145,8 +145,9 @@ struct cgit_query { int nohead; char *sort; int showmsg; int ssdiff; + int show_all; }; struct cgit_config { char *agefile; @@ -184,8 +185,9 @@ struct cgit_config { int enable_remote_branches; int enable_subject_links; int enable_tree_linenumbers; int local_time; + int max_atom_items; int max_repo_count; int max_commit_count; int max_lock_attempts; int max_msg_len; diff --git a/cgitrc.5.txt b/cgitrc.5.txt index fcd4308..5c24381 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -171,8 +171,12 @@ logo-link:: Url loaded when clicking on the cgit logo image. If unspecified the calculated url of the repository index page will be used. Default value: none. +max-atom-items:: + Specifies the number of items to display in atom feeds view. Default + value: "10". + max-commit-count:: Specifies the number of entries to list per page in "log" view. Default value: "50". @@ -32,9 +32,9 @@ static void HEAD_fn(struct cgit_context *ctx) } static void atom_fn(struct cgit_context *ctx) { - cgit_print_atom(ctx->qry.head, ctx->qry.path, 10); + cgit_print_atom(ctx->qry.head, ctx->qry.path, ctx->cfg.max_atom_items); } static void about_fn(struct cgit_context *ctx) { @@ -84,9 +84,11 @@ void cgit_print_atom(char *tip, char *path, int max_count) struct commit *commit; struct rev_info rev; int argc = 2; - if (!tip) + if (ctx.qry.show_all) + argv[1] = "--all"; + else if (!tip) argv[1] = ctx.qry.head; if (path) { argv[argc++] = "--"; |