summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-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
@@ -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);
diff --git a/cgit.h b/cgit.h
index cd4af72..478aebb 100644
--- a/cgit.h
+++ b/cgit.h
@@ -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;
diff --git a/ui-atom.c b/ui-atom.c
index 808b2d0..9f049ae 100644
--- a/ui-atom.c
+++ b/ui-atom.c
@@ -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;
}