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>
This commit is contained in:
부모
6130231ed5
커밋
51a960a3ca
1
cgit.h
1
cgit.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;
|
||||
|
5
cgitrc
5
cgitrc
@ -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
|
||||
|
3
shared.c
3
shared.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 @@ 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"))
|
||||
|
@ -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();
|
||||
|
불러오는 중...
Reference in New Issue
Block a user