Add -F to commit search to treat keywords as strings (#28744)

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).
This commit is contained in:
Mihir Joshi 2024-01-10 16:58:20 +05:30 committed by GitHub
parent 2df7563f31
commit 839cd26b1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -142,6 +142,9 @@ func (repo *Repository) searchCommits(id ObjectID, opts SearchCommitsOptions) ([
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
for _, v := range opts.Keywords {