all repos — cgit @ 51a960a3ca6b0cade97db287a342996c3e1de48d

a hyperfast web frontend for git written in c

Implemented configurable HEAD shortlog on summary page.

This mirrors similiar functionality in gitweb. After clicking on
project on projectlist you will immediatelly see quick summary
of last N commits on HEAD.

[lh: changed from HEAD to cgit_query_head]

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Ondrej Jirman ondrej.jirman@zonio.net
Sat, 26 May 2007 03:33:41 +0200
commit

51a960a3ca6b0cade97db287a342996c3e1de48d

parent

6130231ed5e7475836a44d79d5f09e300e71a407

4 files changed, 16 insertions(+), 1 deletions(-)

jump to
M cgit.hcgit.h

@@ -127,6 +127,7 @@ extern int cgit_cache_repo_ttl;

extern int cgit_cache_dynamic_ttl; extern int cgit_cache_static_ttl; extern int cgit_cache_max_create_time; +extern int cgit_summary_log; extern int cgit_max_msg_len; extern int cgit_max_repodesc_len;
M cgitrccgitrc

@@ -20,6 +20,11 @@ ## Enable/disable display of 'number of lines changed' in log view

#enable-log-linecount=0 +## Enable/disable display of HEAD shortlog in summary view. Set it to maximum +## number of commits that should be displayed +#summary-log=0 + + ## Specify a root for virtual urls. This makes cgit generate urls like ## ## http://localhost/git/repo/log/?id=master
M shared.cshared.c

@@ -34,6 +34,7 @@ int cgit_cache_repo_ttl = 5;

int cgit_cache_dynamic_ttl = 5; int cgit_cache_static_ttl = -1; int cgit_cache_max_create_time = 5; +int cgit_summary_log = 0; int cgit_max_msg_len = 60; int cgit_max_repodesc_len = 60;

@@ -164,6 +165,8 @@ else if (!strcmp(name, "max-repodesc-length"))

cgit_max_repodesc_len = atoi(value); else if (!strcmp(name, "max-commit-count")) cgit_max_commit_count = atoi(value); + else if (!strcmp(name, "summary-log")) + cgit_summary_log = atoi(value); else if (!strcmp(name, "agefile")) cgit_agefile = xstrdup(value); else if (!strcmp(name, "repo.group"))
M ui-summary.cui-summary.c

@@ -19,6 +19,9 @@ char buf[256], *url;

strncpy(buf, refname, sizeof(buf)); commit = lookup_commit(sha1); + // object is not really parsed at this point, because of some fallout + // from previous calls to git functions in cgit_print_log() + commit->object.parsed = 0; if (commit && !parse_commit(commit)){ info = cgit_parse_commit(commit); html("<tr><td>");

@@ -203,8 +206,11 @@ html("</h2>");

if (cgit_repo->readme) html_include(cgit_repo->readme); html("</div>"); - + if (cgit_summary_log > 0) + cgit_print_log(cgit_query_head, 0, cgit_summary_log, NULL, NULL, 0); html("<table class='list nowrap'>"); + if (cgit_summary_log > 0) + html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>"); cgit_print_branches(); html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>"); cgit_print_tags();