author | Lars Hjemli <hjemli@gmail.com> | 2010-06-19 12:32:37 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2010-06-19 12:32:37 (UTC) |
commit | a579fb02561c98a146c9e707d098d2b10aa02015 (patch) (side-by-side diff) | |
tree | e1911ad2d4fb342945474f8fa34fa5bd5e73cab0 | |
parent | 47187b33be1c3de43fbed6f350ab05bc978aacd0 (diff) | |
download | cgit-a579fb02561c98a146c9e707d098d2b10aa02015.zip cgit-a579fb02561c98a146c9e707d098d2b10aa02015.tar.gz cgit-a579fb02561c98a146c9e707d098d2b10aa02015.tar.bz2 |
ui-log.c: allow commit range as search expression
Inspired-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-log.c | 9 | ||||
-rw-r--r-- | ui-shared.c | 1 |
2 files changed, 7 insertions, 3 deletions
@@ -137,28 +137,31 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern { struct rev_info rev; struct commit *commit; const char *argv[] = {NULL, NULL, NULL, NULL, NULL}; int argc = 2; int i, columns = 3; if (!tip) tip = ctx.qry.head; argv[1] = disambiguate_ref(tip); - if (grep && pattern && (!strcmp(grep, "grep") || - !strcmp(grep, "author") || - !strcmp(grep, "committer"))) + if (grep && pattern) { + if (!strcmp(grep, "grep") || !strcmp(grep, "author") || + !strcmp(grep, "committer")) argv[argc++] = fmt("--%s=%s", grep, pattern); + if (!strcmp(grep, "range")) + argv[1] = pattern; + } if (path) { argv[argc++] = "--"; argv[argc++] = path; } 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(argc, argv, &rev, NULL); load_ref_decorations(DECORATE_FULL_REFS); diff --git a/ui-shared.c b/ui-shared.c index 8827fff..0f65474 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -729,24 +729,25 @@ void cgit_print_pageheader(struct cgit_context *ctx) NULL); html("</td><td class='form'>"); html("<form class='right' method='get' action='"); if (ctx->cfg.virtual_root) html_url_path(cgit_fileurl(ctx->qry.repo, "log", ctx->qry.path, NULL)); html("'>\n"); cgit_add_hidden_formfields(1, 0, "log"); html("<select name='qt'>\n"); html_option("grep", "log msg", ctx->qry.grep); html_option("author", "author", ctx->qry.grep); html_option("committer", "committer", ctx->qry.grep); + html_option("range", "range", ctx->qry.grep); html("</select>\n"); html("<input class='txt' type='text' size='10' name='q' value='"); html_attr(ctx->qry.search); html("'/>\n"); html("<input type='submit' value='search'/>\n"); html("</form>\n"); } else { site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0); if (ctx->cfg.root_readme) site_link("about", "about", NULL, hc(cmd, "about"), NULL, 0); html("</td><td class='form'>"); |