From 839cd26b1acc3926918fb5755294dcc355db5ad8 Mon Sep 17 00:00:00 2001 From: Mihir Joshi Date: Wed, 10 Jan 2024 16:58:20 +0530 Subject: [PATCH] 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). --- modules/git/repo_commit.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/git/repo_commit.go b/modules/git/repo_commit.go index ccb3eb4ad..a69229055 100644 --- a/modules/git/repo_commit.go +++ b/modules/git/repo_commit.go @@ -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 {