Merge pull request 'git-grep: set timeout to 2s by default and allow configuring it' (#4966) from yoctozepto/git-grep-timeout into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4966
Reviewed-by: Otto <otto@codeberg.org>
This commit is contained in:
Otto 2024-08-15 12:15:16 +00:00
commit d26ad8dbe5
3 changed files with 7 additions and 0 deletions

View file

@ -732,6 +732,7 @@ LEVEL = Info
;CLONE = 300
;PULL = 300
;GC = 60
;GREP = 2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Git config options

View file

@ -15,6 +15,7 @@ import (
"os"
"strconv"
"strings"
"time"
"code.gitea.io/gitea/modules/setting"
)
@ -94,6 +95,8 @@ func GrepSearch(ctx context.Context, repo *Repository, search string, opts GrepO
opts.MaxResultLimit = cmp.Or(opts.MaxResultLimit, 50)
stderr := bytes.Buffer{}
err = cmd.Run(&RunOpts{
Timeout: time.Duration(setting.Git.Timeout.Grep) * time.Second,
Dir: repo.Path,
Stdout: stdoutWriter,
Stderr: &stderr,

View file

@ -37,6 +37,7 @@ var Git = struct {
Clone int
Pull int
GC int `ini:"GC"`
Grep int
} `ini:"git.timeout"`
}{
DisableDiffHighlight: false,
@ -59,6 +60,7 @@ var Git = struct {
Clone int
Pull int
GC int `ini:"GC"`
Grep int
}{
Default: 360,
Migrate: 600,
@ -66,6 +68,7 @@ var Git = struct {
Clone: 300,
Pull: 300,
GC: 60,
Grep: 2,
},
}