diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-02-25 23:47:35 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-02-25 23:47:36 (GMT) |
commit | 5b84280c65bef19bc3a810e17474c9861ea7ce89 (patch) | |
tree | c534ac39e58573c776dcd9702636496a5cd000ad /builtin/log.c | |
parent | 2e65591ed61ab488395c454004106a5e9424648e (diff) | |
parent | 04bf052eef53c6be04d313d8ce11690beaf890b6 (diff) | |
download | git-5b84280c65bef19bc3a810e17474c9861ea7ce89.zip git-5b84280c65bef19bc3a810e17474c9861ea7ce89.tar.gz git-5b84280c65bef19bc3a810e17474c9861ea7ce89.tar.bz2 |
Merge branch 'ab/grep-patterntype'
Some code clean-up in the "git grep" machinery.
* ab/grep-patterntype:
grep: simplify config parsing and option parsing
grep.c: do "if (bool && memchr())" not "if (memchr() && bool)"
grep.h: make "grep_opt.pattern_type_option" use its enum
grep API: call grep_config() after grep_init()
grep.c: don't pass along NULL callback value
built-ins: trust the "prefix" from run_builtin()
grep tests: add missing "grep.patternType" config tests
grep tests: create a helper function for "BRE" or "ERE"
log tests: check if grep_config() is called by "log"-like cmds
grep.h: remove unused "regex_t regexp" from grep_opt
Diffstat (limited to 'builtin/log.c')
-rw-r--r-- | builtin/log.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/builtin/log.c b/builtin/log.c index 905b234..c211d66 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -533,8 +533,6 @@ static int git_log_config(const char *var, const char *value, void *cb) return 0; } - if (grep_config(var, value, cb) < 0) - return -1; if (git_gpg_config(var, value, cb) < 0) return -1; return git_diff_ui_config(var, value, cb); @@ -549,6 +547,8 @@ int cmd_whatchanged(int argc, const char **argv, const char *prefix) git_config(git_log_config, NULL); repo_init_revisions(the_repository, &rev, prefix); + git_config(grep_config, &rev.grep_filter); + rev.diff = 1; rev.simplify_history = 0; memset(&opt, 0, sizeof(opt)); @@ -663,6 +663,8 @@ int cmd_show(int argc, const char **argv, const char *prefix) memset(&match_all, 0, sizeof(match_all)); repo_init_revisions(the_repository, &rev, prefix); + git_config(grep_config, &rev.grep_filter); + rev.diff = 1; rev.always_show_header = 1; rev.no_walk = 1; @@ -746,6 +748,8 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix) repo_init_revisions(the_repository, &rev, prefix); init_reflog_walk(&rev.reflog_info); + git_config(grep_config, &rev.grep_filter); + rev.verbose_header = 1; memset(&opt, 0, sizeof(opt)); opt.def = "HEAD"; @@ -779,6 +783,8 @@ int cmd_log(int argc, const char **argv, const char *prefix) git_config(git_log_config, NULL); repo_init_revisions(the_repository, &rev, prefix); + git_config(grep_config, &rev.grep_filter); + rev.always_show_header = 1; memset(&opt, 0, sizeof(opt)); opt.def = "HEAD"; @@ -1861,10 +1867,13 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) extra_hdr.strdup_strings = 1; extra_to.strdup_strings = 1; extra_cc.strdup_strings = 1; + init_log_defaults(); init_display_notes(¬es_opt); git_config(git_format_config, NULL); repo_init_revisions(the_repository, &rev, prefix); + git_config(grep_config, &rev.grep_filter); + rev.show_notes = show_notes; memcpy(&rev.notes_opt, ¬es_opt, sizeof(notes_opt)); rev.commit_format = CMIT_FMT_EMAIL; |