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) {