Backport #28744 by @me-heer Fixes #28269 The [default behavior](https://git-scm.com/docs/git-log#Documentation/git-log.txt---basic-regexp) of --grep in git log is to interpret the keyword as a regular expression. This causes the search to fail in the cases where the search keyword contains a `[`, since `[` is a special character used in grep. If we want our keywords to be interpreted as 'strings', we should use [-F flag](https://git-scm.com/docs/git-log#Documentation/git-log.txt---basic-regexp). Co-authored-by: Mihir Joshi <mihir67mj@gmail.com>tags/v1.21.4
@@ -148,6 +148,9 @@ func (repo *Repository) searchCommits(id SHA1, opts SearchCommitsOptions) ([]*Co | |||
cmd.AddArguments("--all") | |||
} | |||
// interpret search string keywords as string instead of regex | |||
cmd.AddArguments("-F") | |||
// add remaining keywords from search string | |||
// note this is done only for command created above | |||
if len(opts.Keywords) > 0 { |