X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/2101e26fd68f816e77de62b93df4c32fd1110d0c..ce1c7336e5b3e3ebe8f8c9029c405aedec98c208:/ui-log.c diff --git a/ui-log.c b/ui-log.c index 31331ef..24d571d 100644 --- a/ui-log.c +++ b/ui-log.c @@ -21,43 +21,44 @@ void print_commit(struct commit *commit) html_txt(buf); html(""); char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1)); - char *url = cgit_pageurl(cgit_query_repo, "view", qry); + char *url = cgit_pageurl(cgit_query_repo, "commit", qry); html_link_open(url, NULL, NULL); - html_txt(info->subject); + html_ntxt(cgit_max_msg_len, info->subject); html_link_close(); html(""); html_txt(info->author); - html("tree"); html("\n"); - free(info->author); - free(info->committer); - free(info->subject); - free(info); + cgit_free_commitinfo(info); } -void cgit_print_log(const char *tip, int ofs, int cnt) +void cgit_print_log(const char *tip, int ofs, int cnt, char *grep) { struct rev_info rev; struct commit *commit; - const char *argv[2] = {NULL, tip}; + const char *argv[3] = {NULL, tip, NULL}; + int argc = 2; int i; + if (grep) + argv[argc++] = fmt("--grep=%s", grep); init_revisions(&rev, NULL); rev.abbrev = DEFAULT_ABBREV; rev.commit_format = CMIT_FMT_DEFAULT; rev.verbose_header = 1; rev.show_root_diff = 0; - setup_revisions(2, argv, &rev, NULL); + setup_revisions(argc, argv, &rev, NULL); + if (rev.grep_filter) { + rev.grep_filter->regflags |= REG_ICASE; + compile_grep_patterns(rev.grep_filter); + } prepare_revision_walk(&rev); html("

Log

"); - html(""); - html("\n"); + html("
DateMessageAuthorLink
"); + html("" + "" + "\n"); if (ofs<0) ofs = 0;
DateMessageAuthor