Optionally generate verbose parent links
The new option 'enable-subject-links' must be used to enable the verbose parent-links in commit view. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
父節點
e15842af62
當前提交
581a0c2a54
4
cgit.c
4
cgit.c
@ -62,6 +62,8 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value)
|
||||
repo->enable_log_linecount = ctx.cfg.enable_log_linecount * atoi(value);
|
||||
else if (!strcmp(name, "enable-remote-branches"))
|
||||
repo->enable_remote_branches = atoi(value);
|
||||
else if (!strcmp(name, "enable-subject-links"))
|
||||
repo->enable_subject_links = atoi(value);
|
||||
else if (!strcmp(name, "max-stats"))
|
||||
repo->max_stats = cgit_find_stats_period(value, NULL);
|
||||
else if (!strcmp(name, "module-link"))
|
||||
@ -141,6 +143,8 @@ void config_cb(const char *name, const char *value)
|
||||
ctx.cfg.enable_log_linecount = atoi(value);
|
||||
else if (!strcmp(name, "enable-remote-branches"))
|
||||
ctx.cfg.enable_remote_branches = atoi(value);
|
||||
else if (!strcmp(name, "enable-subject-links"))
|
||||
ctx.cfg.enable_subject_links = atoi(value);
|
||||
else if (!strcmp(name, "enable-tree-linenumbers"))
|
||||
ctx.cfg.enable_tree_linenumbers = atoi(value);
|
||||
else if (!strcmp(name, "max-stats"))
|
||||
|
2
cgit.h
2
cgit.h
@ -73,6 +73,7 @@ struct cgit_repo {
|
||||
int enable_log_filecount;
|
||||
int enable_log_linecount;
|
||||
int enable_remote_branches;
|
||||
int enable_subject_links;
|
||||
int max_stats;
|
||||
time_t mtime;
|
||||
struct cgit_filter *about_filter;
|
||||
@ -181,6 +182,7 @@ struct cgit_config {
|
||||
int enable_log_filecount;
|
||||
int enable_log_linecount;
|
||||
int enable_remote_branches;
|
||||
int enable_subject_links;
|
||||
int enable_tree_linenumbers;
|
||||
int local_time;
|
||||
int max_repo_count;
|
||||
|
10
cgitrc.5.txt
10
cgitrc.5.txt
@ -115,6 +115,12 @@ enable-remote-branches::
|
||||
in the summary and refs views. Default value: "0". See also:
|
||||
"repo.enable-remote-branches".
|
||||
|
||||
enable-subject-links::
|
||||
Flag which, when set to "1", will make cgit use the subject of the
|
||||
parent commit as link text when generating links to parent commits
|
||||
in commit view. Default value: "0". See also:
|
||||
"repo.enable-subject-links".
|
||||
|
||||
enable-tree-linenumbers::
|
||||
Flag which, when set to "1", will make cgit generate linenumber links
|
||||
for plaintext blobs printed in the tree view. Default value: "1".
|
||||
@ -321,6 +327,10 @@ repo.enable-remote-branches::
|
||||
Flag which, when set to "1", will make cgit display remote branches
|
||||
in the summary and refs views. Default value: <enable-remote-branches>.
|
||||
|
||||
repo.enable-subject-links::
|
||||
A flag which can be used to override the global setting
|
||||
`enable-subject-links'. Default value: none.
|
||||
|
||||
repo.max-stats::
|
||||
Override the default maximum statistics period. Valid values are equal
|
||||
to the values specified for the global "max-stats" setting. Default
|
||||
|
1
shared.c
1
shared.c
@ -60,6 +60,7 @@ struct cgit_repo *cgit_add_repo(const char *url)
|
||||
ret->enable_log_filecount = ctx.cfg.enable_log_filecount;
|
||||
ret->enable_log_linecount = ctx.cfg.enable_log_linecount;
|
||||
ret->enable_remote_branches = ctx.cfg.enable_remote_branches;
|
||||
ret->enable_subject_links = ctx.cfg.enable_subject_links;
|
||||
ret->max_stats = ctx.cfg.max_stats;
|
||||
ret->module_link = ctx.cfg.module_link;
|
||||
ret->readme = NULL;
|
||||
|
12
ui-commit.c
12
ui-commit.c
@ -18,7 +18,7 @@ void cgit_print_commit(char *hex)
|
||||
struct commitinfo *info, *parent_info;
|
||||
struct commit_list *p;
|
||||
unsigned char sha1[20];
|
||||
char *tmp;
|
||||
char *tmp, *tmp2;
|
||||
int parents = 0;
|
||||
|
||||
if (!hex)
|
||||
@ -82,10 +82,12 @@ void cgit_print_commit(char *hex)
|
||||
}
|
||||
html("<tr><th>parent</th>"
|
||||
"<td colspan='2' class='sha1'>");
|
||||
parent_info = cgit_parse_commit(parent);
|
||||
tmp = sha1_to_hex(p->item->object.sha1);
|
||||
cgit_commit_link(parent_info->subject, NULL, NULL,
|
||||
ctx.qry.head, tmp, 0);
|
||||
tmp = tmp2 = sha1_to_hex(p->item->object.sha1);
|
||||
if (ctx.repo->enable_subject_links) {
|
||||
parent_info = cgit_parse_commit(parent);
|
||||
tmp2 = parent_info->subject;
|
||||
}
|
||||
cgit_commit_link(tmp2, NULL, NULL, ctx.qry.head, tmp, 0);
|
||||
html(" (");
|
||||
cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex,
|
||||
sha1_to_hex(p->item->object.sha1), NULL, 0);
|
||||
|
載入中…
新增問題並參考
Block a user