From: Nguyễn Thái Ngọc Duy Date: Sat, 29 Sep 2012 04:41:29 +0000 (+0700) Subject: revision: make --grep search in notes too if shown X-Git-Tag: v1.8.0-rc1~12^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=38cfe915bfc3ea0dbcbedaa82c44460a2ada2f42;p=git.git revision: make --grep search in notes too if shown Notes are shown after commit body. From user perspective it looks pretty much like commit body and they may assume --grep would search in that part too. Make it so. Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index ca221060d..ee497430c 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -66,6 +66,9 @@ endif::git-rev-list[] more than one `--grep=`, commits whose message matches any of the given patterns are chosen (but see `--all-match`). ++ +When `--show-notes` is in effect, the message from the notes as +if it is part of the log message. --all-match:: Limit the commits output to ones that match all given --grep, diff --git a/revision.c b/revision.c index 9f5e9df93..a09e60bed 100644 --- a/revision.c +++ b/revision.c @@ -2231,6 +2231,14 @@ static int commit_match(struct commit *commit, struct rev_info *opt) if (buf.len) strbuf_addstr(&buf, commit->buffer); + /* Append "fake" message parts as needed */ + if (opt->show_notes) { + if (!buf.len) + strbuf_addstr(&buf, commit->buffer); + format_display_notes(commit->object.sha1, &buf, + get_log_output_encoding(), 0); + } + /* Find either in the commit object, or in the temporary */ if (buf.len) retval = grep_buffer(&opt->grep_filter, buf.buf, buf.len);