diff options
| author | Ondrej Jirman <ondrej.jirman@zonio.net> | 2007-05-26 03:33:41 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-31 10:25:48 +0200 | 
| commit | 51a960a3ca6b0cade97db287a342996c3e1de48d (patch) | |
| tree | d3360cd301c9e13d7aa9492e6628bf8d71736608 | |
| parent | 6130231ed5e7475836a44d79d5f09e300e71a407 (diff) | |
| download | cgit-51a960a3ca6b0cade97db287a342996c3e1de48d.tar.gz cgit-51a960a3ca6b0cade97db287a342996c3e1de48d.tar.bz2 | |
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>
| -rw-r--r-- | cgit.h | 1 | ||||
| -rw-r--r-- | cgitrc | 5 | ||||
| -rw-r--r-- | shared.c | 3 | ||||
| -rw-r--r-- | ui-summary.c | 8 | 
4 files changed, 16 insertions, 1 deletions
| @@ -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; @@ -20,6 +20,11 @@  #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 @@ -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 @@ void cgit_global_config_cb(const char *name, const char *value)  		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")) diff --git a/ui-summary.c b/ui-summary.c index 15e8aec..4bda4c2 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -19,6 +19,9 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,  	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 @@ void cgit_print_summary()  	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'> </td></tr>");  	cgit_print_branches();  	html("<tr class='nohover'><td colspan='4'> </td></tr>");  	cgit_print_tags(); | 
