author | Lars Hjemli <hjemli@gmail.com> | 2007-10-28 14:23:00 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-10-28 14:23:00 (UTC) |
commit | 68ca032dbe7379f78775fb03ef34a9ad2abc409f (patch) (unidiff) | |
tree | 2209ae312eb932bc61b41ae9c774f6cfcc3dd372 /ui-log.c | |
parent | 6ec5f36f279a85f59db2851ab476d9acd0015770 (diff) | |
download | cgit-68ca032dbe7379f78775fb03ef34a9ad2abc409f.zip cgit-68ca032dbe7379f78775fb03ef34a9ad2abc409f.tar.gz cgit-68ca032dbe7379f78775fb03ef34a9ad2abc409f.tar.bz2 |
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>
-rw-r--r-- | ui-log.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -50,9 +50,9 @@ void print_commit(struct commit *commit) | |||
50 | cgit_free_commitinfo(info); | 50 | cgit_free_commitinfo(info); |
51 | } | 51 | } |
52 | 52 | ||
53 | 53 | ||
54 | void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, int pager) | 54 | void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern, char *path, int pager) |
55 | { | 55 | { |
56 | struct rev_info rev; | 56 | struct rev_info rev; |
57 | struct commit *commit; | 57 | struct commit *commit; |
58 | const char *argv[] = {NULL, tip, NULL, NULL, NULL}; | 58 | const char *argv[] = {NULL, tip, NULL, NULL, NULL}; |
@@ -61,10 +61,13 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, i | |||
61 | 61 | ||
62 | if (!tip) | 62 | if (!tip) |
63 | argv[1] = cgit_query_head; | 63 | argv[1] = cgit_query_head; |
64 | 64 | ||
65 | if (grep) | 65 | if (grep && pattern && (!strcmp(grep, "grep") || |
66 | argv[argc++] = fmt("--grep=%s", grep); | 66 | !strcmp(grep, "author") || |
67 | !strcmp(grep, "committer"))) | ||
68 | argv[argc++] = fmt("--%s=%s", grep, pattern); | ||
69 | |||
67 | if (path) { | 70 | if (path) { |
68 | argv[argc++] = "--"; | 71 | argv[argc++] = "--"; |
69 | argv[argc++] = path; | 72 | argv[argc++] = path; |
70 | } | 73 | } |