aboutsummaryrefslogtreecommitdiff
path: root/internal/route
diff options
context:
space:
mode:
authorZhukov Roman <zhukovra@users.noreply.github.com>2020-09-29 18:12:17 +0300
committerGitHub <noreply@github.com>2020-09-29 23:12:17 +0800
commitbe86d67e810743d711b48066a71ee57ce953d65f (patch)
tree3239c029cde332bc36cf29cebaf891dd55697040 /internal/route
parent23823e9698299a8046417152a385edfe4e48cd27 (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.go4
-rw-r--r--internal/route/repo/pull.go5
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")