summary refs log tree commit diff
diff options
context:
space:
mode:
authorAaron Griffin <agriffin@datalogics.com>2010-02-03 18:31:17 -0600
committerLars Hjemli <hjemli@gmail.com>2010-03-22 23:41:38 +0100
commit65ced7c00907af7e8bd5d239a4fa854a84535520 (patch)
tree81e9f408d8781477c89ddd34591d52c355100cb9
parentff3a3b4e2b7463bb8cb370bdda393e8b3526fcb9 (diff)
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.c2
-rw-r--r--cgit.h1
-rw-r--r--ui-atom.c4
3 files changed, 6 insertions, 1 deletions
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) {