| -rw-r--r-- | cgit.c | 7 | ||||
| -rw-r--r-- | cgit.h | 2 | ||||
| -rw-r--r-- | git.h | 68 | ||||
| -rw-r--r-- | ui-log.c | 13 |
4 files changed, 7 insertions, 83 deletions
@@ -24,15 +24,12 @@ static void cgit_print_repo_page(struct cacheitem *item) } setenv("GIT_DIR", fmt("%s/%s", cgit_root, cgit_query_repo), 1); char *title = fmt("%s - %s", cgit_repo_name, cgit_repo_desc); - int show_search = 0; - if (cgit_query_page && !strcmp(cgit_query_page, "log")) - show_search = 1; cgit_print_docstart(title, item); - cgit_print_pageheader(title, show_search); + cgit_print_pageheader(title, 0); if (!cgit_query_page) { cgit_print_summary(); } else if (!strcmp(cgit_query_page, "log")) { - cgit_print_log(cgit_query_head, cgit_query_ofs, 100, cgit_query_search); + cgit_print_log(cgit_query_head, cgit_query_ofs, 100); } else if (!strcmp(cgit_query_page, "tree")) { cgit_print_tree(cgit_query_sha1); } else if (!strcmp(cgit_query_page, "commit")) { @@ -104,7 +104,7 @@ extern void cgit_print_pageheader(char *title, int show_search); 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); +extern void cgit_print_log(const char *tip, int ofs, int cnt); extern void cgit_print_view(const char *hex); extern void cgit_print_tree(const char *hex); extern void cgit_print_commit(const char *hex); @@ -31,7 +31,7 @@ #include <sys/types.h> #include <dirent.h> #include <time.h> -#include <regex.h> + /* On most systems <limits.h> would have given us this, but * not on some systems (e.g. GNU/Hurd). @@ -156,72 +156,6 @@ static inline void hashclr(unsigned char *hash) } -/* - * from git:grep.h - */ - -enum grep_pat_token { - GREP_PATTERN, - GREP_PATTERN_HEAD, - GREP_PATTERN_BODY, - GREP_AND, - GREP_OPEN_PAREN, - GREP_CLOSE_PAREN, - GREP_NOT, - GREP_OR, -}; - -enum grep_context { - GREP_CONTEXT_HEAD, - GREP_CONTEXT_BODY, -}; - -struct grep_pat { - struct grep_pat *next; - const char *origin; - int no; - enum grep_pat_token token; - const char *pattern; - regex_t regexp; -}; - -enum grep_expr_node { - GREP_NODE_ATOM, - GREP_NODE_NOT, - GREP_NODE_AND, - GREP_NODE_OR, -}; - -struct grep_opt { - struct grep_pat *pattern_list; - struct grep_pat **pattern_tail; - struct grep_expr *pattern_expression; - int prefix_length; - regex_t regexp; - unsigned linenum:1; - unsigned invert:1; - unsigned status_only:1; - unsigned name_only:1; - unsigned unmatch_name_only:1; - unsigned count:1; - unsigned word_regexp:1; - unsigned fixed:1; - unsigned all_match:1; -#define GREP_BINARY_DEFAULT 0 -#define GREP_BINARY_NOMATCH 1 -#define GREP_BINARY_TEXT 2 - unsigned binary:2; - unsigned extended:1; - unsigned relative:1; - unsigned pathname:1; - int regflags; - unsigned pre_context; - unsigned post_context; -}; - - -extern void compile_grep_patterns(struct grep_opt *opt); -extern void free_grep_patterns(struct grep_opt *opt); /* @@ -32,26 +32,19 @@ void print_commit(struct commit *commit) } -void cgit_print_log(const char *tip, int ofs, int cnt, char *grep) +void cgit_print_log(const char *tip, int ofs, int cnt) { struct rev_info rev; struct commit *commit; - const char *argv[3] = {NULL, tip, NULL}; - int argc = 2; + const char *argv[2] = {NULL, tip}; 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(argc, argv, &rev, NULL); - if (rev.grep_filter) { - rev.grep_filter->regflags |= REG_ICASE; - compile_grep_patterns(rev.grep_filter); - } + setup_revisions(2, argv, &rev, NULL); prepare_revision_walk(&rev); html("<h2>Log</h2>"); |