From 65ced7c00907af7e8bd5d239a4fa854a84535520 Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Wed, 3 Feb 2010 18:31:17 -0600 Subject: Add all=1 query param for atom feeds Displays all items from all branches in one feed Signed-off-by: Aaron Griffin Signed-off-by: Lars Hjemli --- cgit.c | 2 ++ cgit.h | 1 + ui-atom.c | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cgit.c b/cgit.c index 9305d0a..ed2be64 100644 --- a/cgit.c +++ b/cgit.c @@ -250,6 +250,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); } } diff --git a/cgit.h b/cgit.h index cd4af72..478aebb 100644 --- a/cgit.h +++ b/cgit.h @@ -145,6 +145,7 @@ struct cgit_query { char *sort; int showmsg; int ssdiff; + int show_all; }; struct cgit_config { 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) { -- cgit From 80476b0d2873eb212fad38487fd6189bd6629cbe Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Thu, 4 Feb 2010 18:08:16 -0600 Subject: Add 'max-atom-items' config variable This allows one to specify the items in the RSS feeds Signed-off-by: Aaron Griffin Signed-off-by: Lars Hjemli --- cgit.c | 3 +++ cgit.h | 1 + cgitrc.5.txt | 4 ++++ cmd.c | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cgit.c b/cgit.c index ed2be64..bf64c9e 100644 --- a/cgit.c +++ b/cgit.c @@ -165,6 +165,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")) @@ -294,6 +296,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 478aebb..7fafb58 100644 --- a/cgit.h +++ b/cgit.h @@ -184,6 +184,7 @@ struct cgit_config { int enable_remote_branches; 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 d74d9e7..6cdfd03 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -166,6 +166,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) -- cgit