cgit

commit c2766deb67acb1eae2b36dc0f5811a9cabb6db20

Author: Lars Hjemli <hjemli@gmail.com>

Merge branch 'ag/atom-fixes'

 cgit.c | 5 +++++
 cgit.h | 2 ++
 cgitrc.5.txt | 4 ++++
 cmd.c | 2 +-
 ui-atom.c | 4 +++-


diff --git a/cgit.c b/cgit.c
index 6ccf4aaf43bf9ca1b250991a0e5a3cdeb1d95fb4..38bc136596ce610cfe6cb08450658ecee5e590ca 100644
--- a/cgit.c
+++ b/cgit.c
@@ -169,6 +169,8 @@ 	else if (!strcmp(name, "commit-filter"))
 		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"))
@@ -254,6 +256,8 @@ 	} 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);
 	}
 }
 
@@ -296,6 +300,7 @@ 	ctx->cfg.section = "";
 	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 9b1e3f8ca7862857a0fa800dc6fda5becbe614c9..8884f9e500dddb7d403ed1877217d8f3600bb041 100644
--- a/cgit.h
+++ b/cgit.h
@@ -146,6 +146,7 @@ 	int nohead;
 	char *sort;
 	int showmsg;
 	int ssdiff;
+	int show_all;
 };
 
 struct cgit_config {
@@ -185,6 +186,7 @@ 	int enable_remote_branches;
 	int enable_subject_links;
 	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 fcd4308d603a89c6823618531da4e76eedb5a7c3..5c2438103285241f25aaf37ff68ca3f923a6f6a6 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -172,6 +172,10 @@ 	Url loaded when clicking on the cgit logo image. If unspecified the
 	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 766f90397b89d2407574f3e2bf7056df68b43add..ad784fce0773ea6bc85ed406f1904f723b6ee3fb 100644
--- a/cmd.c
+++ b/cmd.c
@@ -33,7 +33,7 @@ }
 
 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)




diff --git a/ui-atom.c b/ui-atom.c
index 808b2d0abede36fc73c8633ba36044a9d5547c30..9f049aea2c2abde2b18959ab63ac9709967b8873 100644
--- a/ui-atom.c
+++ b/ui-atom.c
@@ -85,7 +85,9 @@ 	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) {