diff options
author | Zhukov Roman <zhukovra@users.noreply.github.com> | 2020-09-29 18:12:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-29 23:12:17 +0800 |
commit | be86d67e810743d711b48066a71ee57ce953d65f (patch) | |
tree | 3239c029cde332bc36cf29cebaf891dd55697040 /internal/route | |
parent | 23823e9698299a8046417152a385edfe4e48cd27 (diff) |
Add git diff timeout in app config (#6348)
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
Diffstat (limited to 'internal/route')
-rw-r--r-- | internal/route/repo/commit.go | 4 | ||||
-rw-r--r-- | internal/route/repo/pull.go | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/internal/route/repo/commit.go b/internal/route/repo/commit.go index 00be5b1a..a8a344bd 100644 --- a/internal/route/repo/commit.go +++ b/internal/route/repo/commit.go @@ -6,6 +6,7 @@ package repo import ( "path" + "time" "github.com/gogs/git-module" @@ -125,6 +126,7 @@ func Diff(c *context.Context) { diff, err := gitutil.RepoDiff(c.Repo.GitRepo, commitID, conf.Git.MaxDiffFiles, conf.Git.MaxDiffLines, conf.Git.MaxDiffLineChars, + git.DiffOptions{Timeout: time.Duration(conf.Git.Timeout.Diff) * time.Second}, ) if err != nil { c.NotFoundOrError(gitutil.NewError(err), "get diff") @@ -193,7 +195,7 @@ func CompareDiff(c *context.Context) { diff, err := gitutil.RepoDiff(c.Repo.GitRepo, afterCommitID, conf.Git.MaxDiffFiles, conf.Git.MaxDiffLines, conf.Git.MaxDiffLineChars, - git.DiffOptions{Base: beforeCommitID}, + git.DiffOptions{Base: beforeCommitID, Timeout: time.Duration(conf.Git.Timeout.Diff) * time.Second}, ) if err != nil { c.NotFoundOrError(gitutil.NewError(err), "get diff") diff --git a/internal/route/repo/pull.go b/internal/route/repo/pull.go index 05837ca1..88c452ab 100644 --- a/internal/route/repo/pull.go +++ b/internal/route/repo/pull.go @@ -8,6 +8,7 @@ import ( "net/http" "path" "strings" + "time" "github.com/unknwon/com" log "unknwon.dev/clog/v2" @@ -354,7 +355,7 @@ func ViewPullFiles(c *context.Context) { diff, err := gitutil.RepoDiff(diffGitRepo, endCommitID, conf.Git.MaxDiffFiles, conf.Git.MaxDiffLines, conf.Git.MaxDiffLineChars, - git.DiffOptions{Base: startCommitID}, + git.DiffOptions{Base: startCommitID, Timeout: time.Duration(conf.Git.Timeout.Diff) * time.Second}, ) if err != nil { c.Error(err, "get diff") @@ -575,7 +576,7 @@ func PrepareCompareDiff( diff, err := gitutil.RepoDiff(headGitRepo, headCommitID, conf.Git.MaxDiffFiles, conf.Git.MaxDiffLines, conf.Git.MaxDiffLineChars, - git.DiffOptions{Base: meta.MergeBase}, + git.DiffOptions{Base: meta.MergeBase, Timeout: time.Duration(conf.Git.Timeout.Diff) * time.Second}, ) if err != nil { c.Error(err, "get repository diff") |