]> gitweb.ps.run Git - ps-cgit/commitdiff
Merge branch 'ag/atom-fixes'
authorLars Hjemli <hjemli@gmail.com>
Sat, 19 Jun 2010 09:42:12 +0000 (11:42 +0200)
committerLars Hjemli <hjemli@gmail.com>
Sat, 19 Jun 2010 09:42:12 +0000 (11:42 +0200)
cgit.c
cgit.h
cgitrc.5.txt
cmd.c
ui-atom.c

diff --git a/cgit.c b/cgit.c
index 6ccf4aaf43bf9ca1b250991a0e5a3cdeb1d95fb4..38bc136596ce610cfe6cb08450658ecee5e590ca 100644 (file)
--- a/cgit.c
+++ b/cgit.c
@@ -169,6 +169,8 @@ void config_cb(const char *name, const char *value)
                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 @@ 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);
        }
 }
 
@@ -296,6 +300,7 @@ static void prepare_context(struct cgit_context *ctx)
        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 (file)
--- a/cgit.h
+++ b/cgit.h
@@ -146,6 +146,7 @@ struct cgit_query {
        char *sort;
        int showmsg;
        int ssdiff;
+       int show_all;
 };
 
 struct cgit_config {
@@ -185,6 +186,7 @@ struct cgit_config {
        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;
index fcd4308d603a89c6823618531da4e76eedb5a7c3..5c2438103285241f25aaf37ff68ca3f923a6f6a6 100644 (file)
@@ -172,6 +172,10 @@ logo-link::
        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 (file)
--- a/cmd.c
+++ b/cmd.c
@@ -33,7 +33,7 @@ static void HEAD_fn(struct cgit_context *ctx)
 
 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)
index 808b2d0abede36fc73c8633ba36044a9d5547c30..9f049aea2c2abde2b18959ab63ac9709967b8873 100644 (file)
--- 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) {