diff options
-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
diff --git a/cgit.c b/cgit.c index 6ccf4aa..38bc136 100644 --- a/cgit.c +++ b/cgit.c @@ -169,6 +169,8 @@ void config_cb(const char *name, const char *value) 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")) @@ -254,6 +256,8 @@ static void querystring_cb(const char *name, const char *value) 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); } } @@ -296,6 +300,7 @@ static void prepare_context(struct cgit_context *ctx) 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")); diff --git a/cgit.h b/cgit.h index 9b1e3f8..8884f9e 100644 --- a/cgit.h +++ b/cgit.h @@ -146,6 +146,7 @@ struct cgit_query { char *sort; int showmsg; int ssdiff; + int show_all; }; struct cgit_config { @@ -185,6 +186,7 @@ struct cgit_config { 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; diff --git a/cgitrc.5.txt b/cgitrc.5.txt index fcd4308..5c24381 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -172,6 +172,10 @@ logo-link:: 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". diff --git a/cmd.c b/cmd.c index 766f903..ad784fc 100644 --- a/cmd.c +++ b/cmd.c @@ -33,7 +33,7 @@ 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) diff --git a/ui-atom.c b/ui-atom.c index 808b2d0..9f049ae 100644 --- a/ui-atom.c +++ b/ui-atom.c @@ -85,7 +85,9 @@ void cgit_print_atom(char *tip, char *path, int max_count) 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) { |