author | Aaron Griffin <agriffin@datalogics.com> | 2010-02-04 00:31:17 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2010-03-22 22:41:38 (UTC) |
commit | 65ced7c00907af7e8bd5d239a4fa854a84535520 (patch) (side-by-side diff) | |
tree | 81e9f408d8781477c89ddd34591d52c355100cb9 | |
parent | ff3a3b4e2b7463bb8cb370bdda393e8b3526fcb9 (diff) | |
download | cgit-65ced7c00907af7e8bd5d239a4fa854a84535520.zip cgit-65ced7c00907af7e8bd5d239a4fa854a84535520.tar.gz cgit-65ced7c00907af7e8bd5d239a4fa854a84535520.tar.bz2 |
Add all=1 query param for atom feeds
Displays all items from all branches in one feed
Signed-off-by: Aaron Griffin <agriffin@datalogics.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | ui-atom.c | 4 |
3 files changed, 6 insertions, 1 deletions
@@ -247,12 +247,14 @@ static void querystring_cb(const char *name, const char *value) } else if (!strcmp(name, "showmsg")) { ctx.qry.showmsg = atoi(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) { return (str ? xstrdup(str) : NULL); @@ -142,12 +142,13 @@ struct cgit_query { char *period; int ofs; int nohead; char *sort; int showmsg; int ssdiff; + int show_all; }; struct cgit_config { char *agefile; char *cache_root; char *clone_prefix; @@ -82,13 +82,15 @@ void cgit_print_atom(char *tip, char *path, int max_count) char *host; const char *argv[] = {NULL, tip, NULL, NULL, NULL}; 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++] = "--"; argv[argc++] = path; } |