Teach log search about --grep, --author and --committer This makes the log searching more explicit, using a dropdown box to specify the commit field to match against. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Lars Hjemli hjemli@gmail.com
Sun, 28 Oct 2007 15:23:00 +0100
7 files changed,
39 insertions(+),
9 deletions(-)
M
cgit.css
→
cgit.css
@@ -144,13 +144,30 @@ margin: 0px;
padding: 0px; } +td#search select { + font-size: 9pt; + padding: 0px; + border: solid 1px #333; + color: #333; + background-color: #fff; +} + td#search input { font-size: 9pt; padding: 0px; - width: 10em; +} + +td#search input.txt { + width: 8em; border: solid 1px #333; color: #333; background-color: #fff; +} + +td#search input.btn { + border: solid 1px #333; + color: #333; + background-color: #ccc; } div#summary {
M
cgit.h
→
cgit.h
@@ -158,6 +158,7 @@ extern char *cgit_querystring;
extern char *cgit_query_repo; extern char *cgit_query_page; extern char *cgit_query_search; +extern char *cgit_query_grep; extern char *cgit_query_head; extern char *cgit_query_sha1; extern char *cgit_query_sha2;@@ -260,7 +261,8 @@ extern void cgit_print_tags(int maxcount);
extern void cgit_print_repolist(struct cacheitem *item); extern void cgit_print_summary(); -extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, int pager); +extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, + char *pattern, char *path, int pager); extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path); extern void cgit_print_tree(const char *rev, char *path); extern void cgit_print_commit(char *hex);
M
ui-log.c
→
ui-log.c
@@ -51,7 +51,7 @@ cgit_free_commitinfo(info);
} -void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, int pager) +void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern, char *path, int pager) { struct rev_info rev; struct commit *commit;@@ -62,8 +62,11 @@
if (!tip) argv[1] = cgit_query_head; - if (grep) - argv[argc++] = fmt("--grep=%s", grep); + if (grep && pattern && (!strcmp(grep, "grep") || + !strcmp(grep, "author") || + !strcmp(grep, "committer"))) + argv[argc++] = fmt("--%s=%s", grep, pattern); + if (path) { argv[argc++] = "--"; argv[argc++] = path;
M
ui-summary.c
→
ui-summary.c
@@ -236,7 +236,7 @@ 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); + cgit_print_log(cgit_query_head, 0, cgit_summary_log, NULL, NULL, NULL, 0); html("<table class='list nowrap'>"); if (cgit_summary_log > 0) html("<tr class='nohover'><td colspan='4'> </td></tr>");