aboutsummaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorJakobDev <jakobdev@gmx.de>2023-10-03 12:30:41 +0200
committerGitHub <noreply@github.com>2023-10-03 10:30:41 +0000
commitcc5df266808361c1dd3a1d17cbba712826a93d7e (patch)
treef77c59a61d3dc36f07b5b84596e4a1cde12b55cc /services
parent08507e2760638124d75774c29ef37e692a88c02d (diff)
downloadgitea-cc5df266808361c1dd3a1d17cbba712826a93d7e.tar.gz
gitea-cc5df266808361c1dd3a1d17cbba712826a93d7e.zip
Even more `db.DefaultContext` refactor (#27352)
Part of #27065 --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: delvh <dev.lh@web.de>
Diffstat (limited to 'services')
-rw-r--r--services/attachment/attachment.go8
-rw-r--r--services/attachment/attachment_test.go2
-rw-r--r--services/convert/convert.go6
-rw-r--r--services/convert/git_commit.go2
-rw-r--r--services/convert/issue.go2
-rw-r--r--services/convert/issue_comment.go2
-rw-r--r--services/convert/mirror.go6
-rw-r--r--services/convert/notification.go10
-rw-r--r--services/gitdiff/csv_test.go3
-rw-r--r--services/gitdiff/gitdiff.go22
-rw-r--r--services/gitdiff/gitdiff_test.go26
-rw-r--r--services/issue/assignee_test.go2
-rw-r--r--services/mailer/incoming/incoming_handler.go2
-rw-r--r--services/migrations/gitea_uploader.go2
-rw-r--r--services/mirror/mirror.go2
-rw-r--r--services/mirror/mirror_pull.go7
-rw-r--r--services/mirror/mirror_push.go4
-rw-r--r--services/pull/review.go2
-rw-r--r--services/release/release_test.go4
-rw-r--r--services/repository/create_test.go2
-rw-r--r--services/repository/files/temp_repo.go2
-rw-r--r--services/user/user.go2
-rw-r--r--services/wiki/wiki.go2
23 files changed, 62 insertions, 60 deletions
diff --git a/services/attachment/attachment.go b/services/attachment/attachment.go
index 3e7df0cee0..967332fd98 100644
--- a/services/attachment/attachment.go
+++ b/services/attachment/attachment.go
@@ -19,12 +19,12 @@ import (
)
// NewAttachment creates a new attachment object, but do not verify.
-func NewAttachment(attach *repo_model.Attachment, file io.Reader, size int64) (*repo_model.Attachment, error) {
+func NewAttachment(ctx context.Context, attach *repo_model.Attachment, file io.Reader, size int64) (*repo_model.Attachment, error) {
if attach.RepoID == 0 {
return nil, fmt.Errorf("attachment %s should belong to a repository", attach.Name)
}
- err := db.WithTx(db.DefaultContext, func(ctx context.Context) error {
+ err := db.WithTx(ctx, func(ctx context.Context) error {
attach.UUID = uuid.New().String()
size, err := storage.Attachments.Save(attach.RelativePath(), file, size)
if err != nil {
@@ -39,7 +39,7 @@ func NewAttachment(attach *repo_model.Attachment, file io.Reader, size int64) (*
}
// UploadAttachment upload new attachment into storage and update database
-func UploadAttachment(file io.Reader, allowedTypes string, fileSize int64, opts *repo_model.Attachment) (*repo_model.Attachment, error) {
+func UploadAttachment(ctx context.Context, file io.Reader, allowedTypes string, fileSize int64, opts *repo_model.Attachment) (*repo_model.Attachment, error) {
buf := make([]byte, 1024)
n, _ := util.ReadAtMost(file, buf)
buf = buf[:n]
@@ -48,5 +48,5 @@ func UploadAttachment(file io.Reader, allowedTypes string, fileSize int64, opts
return nil, err
}
- return NewAttachment(opts, io.MultiReader(bytes.NewReader(buf), file), fileSize)
+ return NewAttachment(ctx, opts, io.MultiReader(bytes.NewReader(buf), file), fileSize)
}
diff --git a/services/attachment/attachment_test.go b/services/attachment/attachment_test.go
index 77ef1cd37c..142bcfe629 100644
--- a/services/attachment/attachment_test.go
+++ b/services/attachment/attachment_test.go
@@ -32,7 +32,7 @@ func TestUploadAttachment(t *testing.T) {
assert.NoError(t, err)
defer f.Close()
- attach, err := NewAttachment(&repo_model.Attachment{
+ attach, err := NewAttachment(db.DefaultContext, &repo_model.Attachment{
RepoID: 1,
UploaderID: user.ID,
Name: filepath.Base(fPath),
diff --git a/services/convert/convert.go b/services/convert/convert.go
index fcb5dd572f..366782390a 100644
--- a/services/convert/convert.go
+++ b/services/convert/convert.go
@@ -119,15 +119,15 @@ func ToBranchProtection(ctx context.Context, bp *git_model.ProtectedBranch) *api
if err != nil {
log.Error("GetUserNamesByIDs (ApprovalsWhitelistUserIDs): %v", err)
}
- pushWhitelistTeams, err := organization.GetTeamNamesByID(bp.WhitelistTeamIDs)
+ pushWhitelistTeams, err := organization.GetTeamNamesByID(ctx, bp.WhitelistTeamIDs)
if err != nil {
log.Error("GetTeamNamesByID (WhitelistTeamIDs): %v", err)
}
- mergeWhitelistTeams, err := organization.GetTeamNamesByID(bp.MergeWhitelistTeamIDs)
+ mergeWhitelistTeams, err := organization.GetTeamNamesByID(ctx, bp.MergeWhitelistTeamIDs)
if err != nil {
log.Error("GetTeamNamesByID (MergeWhitelistTeamIDs): %v", err)
}
- approvalsWhitelistTeams, err := organization.GetTeamNamesByID(bp.ApprovalsWhitelistTeamIDs)
+ approvalsWhitelistTeams, err := organization.GetTeamNamesByID(ctx, bp.ApprovalsWhitelistTeamIDs)
if err != nil {
log.Error("GetTeamNamesByID (ApprovalsWhitelistTeamIDs): %v", err)
}
diff --git a/services/convert/git_commit.go b/services/convert/git_commit.go
index ac15719c1c..ed08691c8b 100644
--- a/services/convert/git_commit.go
+++ b/services/convert/git_commit.go
@@ -210,7 +210,7 @@ func ToCommit(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Rep
// Get diff stats for commit
if opts.Stat {
- diff, err := gitdiff.GetDiff(gitRepo, &gitdiff.DiffOptions{
+ diff, err := gitdiff.GetDiff(ctx, gitRepo, &gitdiff.DiffOptions{
AfterCommitID: commit.ID.String(),
})
if err != nil {
diff --git a/services/convert/issue.go b/services/convert/issue.go
index 33fad31d48..708eac36cf 100644
--- a/services/convert/issue.go
+++ b/services/convert/issue.go
@@ -62,7 +62,7 @@ func toIssue(ctx context.Context, issue *issues_model.Issue, getDownloadURL func
if err := issue.Repo.LoadOwner(ctx); err != nil {
return &api.Issue{}
}
- apiIssue.URL = issue.APIURL()
+ apiIssue.URL = issue.APIURL(ctx)
apiIssue.HTMLURL = issue.HTMLURL()
apiIssue.Labels = ToLabelList(issue.Labels, issue.Repo, issue.Repo.Owner)
apiIssue.Repo = &api.RepositoryMeta{
diff --git a/services/convert/issue_comment.go b/services/convert/issue_comment.go
index f2bb4c88f3..b034a50897 100644
--- a/services/convert/issue_comment.go
+++ b/services/convert/issue_comment.go
@@ -55,7 +55,7 @@ func ToTimelineComment(ctx context.Context, repo *repo_model.Repository, c *issu
return nil
}
- err = c.LoadTime()
+ err = c.LoadTime(ctx)
if err != nil {
log.Error("LoadTime: %v", err)
return nil
diff --git a/services/convert/mirror.go b/services/convert/mirror.go
index dade6142a2..249ce2f968 100644
--- a/services/convert/mirror.go
+++ b/services/convert/mirror.go
@@ -4,13 +4,15 @@
package convert
import (
+ "context"
+
repo_model "code.gitea.io/gitea/models/repo"
api "code.gitea.io/gitea/modules/structs"
)
// ToPushMirror convert from repo_model.PushMirror and remoteAddress to api.TopicResponse
-func ToPushMirror(pm *repo_model.PushMirror) (*api.PushMirror, error) {
- repo := pm.GetRepository()
+func ToPushMirror(ctx context.Context, pm *repo_model.PushMirror) (*api.PushMirror, error) {
+ repo := pm.GetRepository(ctx)
return &api.PushMirror{
RepoName: repo.Name,
RemoteName: pm.RemoteName,
diff --git a/services/convert/notification.go b/services/convert/notification.go
index 7f724cf156..0b97530d8b 100644
--- a/services/convert/notification.go
+++ b/services/convert/notification.go
@@ -39,10 +39,10 @@ func ToNotificationThread(ctx context.Context, n *activities_model.Notification)
result.Subject = &api.NotificationSubject{Type: api.NotifySubjectIssue}
if n.Issue != nil {
result.Subject.Title = n.Issue.Title
- result.Subject.URL = n.Issue.APIURL()
+ result.Subject.URL = n.Issue.APIURL(ctx)
result.Subject.HTMLURL = n.Issue.HTMLURL()
result.Subject.State = n.Issue.State()
- comment, err := n.Issue.GetLastComment()
+ comment, err := n.Issue.GetLastComment(ctx)
if err == nil && comment != nil {
result.Subject.LatestCommentURL = comment.APIURL(ctx)
result.Subject.LatestCommentHTMLURL = comment.HTMLURL(ctx)
@@ -52,16 +52,16 @@ func ToNotificationThread(ctx context.Context, n *activities_model.Notification)
result.Subject = &api.NotificationSubject{Type: api.NotifySubjectPull}
if n.Issue != nil {
result.Subject.Title = n.Issue.Title
- result.Subject.URL = n.Issue.APIURL()
+ result.Subject.URL = n.Issue.APIURL(ctx)
result.Subject.HTMLURL = n.Issue.HTMLURL()
result.Subject.State = n.Issue.State()
- comment, err := n.Issue.GetLastComment()
+ comment, err := n.Issue.GetLastComment(ctx)
if err == nil && comment != nil {
result.Subject.LatestCommentURL = comment.APIURL(ctx)
result.Subject.LatestCommentHTMLURL = comment.HTMLURL(ctx)
}
- pr, _ := n.Issue.GetPullRequest()
+ pr, _ := n.Issue.GetPullRequest(ctx)
if pr != nil && pr.HasMerged {
result.Subject.State = "merged"
}
diff --git a/services/gitdiff/csv_test.go b/services/gitdiff/csv_test.go
index ac53e2d1ef..c006a7c2bd 100644
--- a/services/gitdiff/csv_test.go
+++ b/services/gitdiff/csv_test.go
@@ -8,6 +8,7 @@ import (
"strings"
"testing"
+ "code.gitea.io/gitea/models/db"
csv_module "code.gitea.io/gitea/modules/csv"
"code.gitea.io/gitea/modules/setting"
@@ -190,7 +191,7 @@ c,d,e`,
}
for n, c := range cases {
- diff, err := ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(c.diff), "")
+ diff, err := ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(c.diff), "")
if err != nil {
t.Errorf("ParsePatch failed: %s", err)
}
diff --git a/services/gitdiff/gitdiff.go b/services/gitdiff/gitdiff.go
index fd0f32717c..8bf6cba844 100644
--- a/services/gitdiff/gitdiff.go
+++ b/services/gitdiff/gitdiff.go
@@ -494,7 +494,7 @@ func (diff *Diff) LoadComments(ctx context.Context, issue *issues_model.Issue, c
const cmdDiffHead = "diff --git "
// ParsePatch builds a Diff object from a io.Reader and some parameters.
-func ParsePatch(maxLines, maxLineCharacters, maxFiles int, reader io.Reader, skipToFile string) (*Diff, error) {
+func ParsePatch(ctx context.Context, maxLines, maxLineCharacters, maxFiles int, reader io.Reader, skipToFile string) (*Diff, error) {
log.Debug("ParsePatch(%d, %d, %d, ..., %s)", maxLines, maxLineCharacters, maxFiles, skipToFile)
var curFile *DiffFile
@@ -709,7 +709,7 @@ parsingLoop:
curFile.IsAmbiguous = false
}
// Otherwise do nothing with this line, but now switch to parsing hunks
- lineBytes, isFragment, err := parseHunks(curFile, maxLines, maxLineCharacters, input)
+ lineBytes, isFragment, err := parseHunks(ctx, curFile, maxLines, maxLineCharacters, input)
diff.TotalAddition += curFile.Addition
diff.TotalDeletion += curFile.Deletion
if err != nil {
@@ -818,7 +818,7 @@ func skipToNextDiffHead(input *bufio.Reader) (line string, err error) {
return line, err
}
-func parseHunks(curFile *DiffFile, maxLines, maxLineCharacters int, input *bufio.Reader) (lineBytes []byte, isFragment bool, err error) {
+func parseHunks(ctx context.Context, curFile *DiffFile, maxLines, maxLineCharacters int, input *bufio.Reader) (lineBytes []byte, isFragment bool, err error) {
sb := strings.Builder{}
var (
@@ -995,7 +995,7 @@ func parseHunks(curFile *DiffFile, maxLines, maxLineCharacters int, input *bufio
oid := strings.TrimPrefix(line[1:], lfs.MetaFileOidPrefix)
if len(oid) == 64 {
m := &git_model.LFSMetaObject{Pointer: lfs.Pointer{Oid: oid}}
- count, err := db.CountByBean(db.DefaultContext, m)
+ count, err := db.CountByBean(ctx, m)
if err == nil && count > 0 {
curFile.IsBin = true
@@ -1106,7 +1106,7 @@ type DiffOptions struct {
// GetDiff builds a Diff between two commits of a repository.
// Passing the empty string as beforeCommitID returns a diff from the parent commit.
// The whitespaceBehavior is either an empty string or a git flag
-func GetDiff(gitRepo *git.Repository, opts *DiffOptions, files ...string) (*Diff, error) {
+func GetDiff(ctx context.Context, gitRepo *git.Repository, opts *DiffOptions, files ...string) (*Diff, error) {
repoPath := gitRepo.Path
commit, err := gitRepo.GetCommit(opts.AfterCommitID)
@@ -1165,7 +1165,7 @@ func GetDiff(gitRepo *git.Repository, opts *DiffOptions, files ...string) (*Diff
_ = writer.Close()
}()
- diff, err := ParsePatch(opts.MaxLines, opts.MaxLineCharacters, opts.MaxFiles, reader, parsePatchSkipToFile)
+ diff, err := ParsePatch(ctx, opts.MaxLines, opts.MaxLineCharacters, opts.MaxFiles, reader, parsePatchSkipToFile)
if err != nil {
return nil, fmt.Errorf("unable to ParsePatch: %w", err)
}
@@ -1280,7 +1280,7 @@ func GetPullDiffStats(gitRepo *git.Repository, opts *DiffOptions) (*PullDiffStat
// SyncAndGetUserSpecificDiff is like GetDiff, except that user specific data such as which files the given user has already viewed on the given PR will also be set
// Additionally, the database asynchronously is updated if files have changed since the last review
func SyncAndGetUserSpecificDiff(ctx context.Context, userID int64, pull *issues_model.PullRequest, gitRepo *git.Repository, opts *DiffOptions, files ...string) (*Diff, error) {
- diff, err := GetDiff(gitRepo, opts, files...)
+ diff, err := GetDiff(ctx, gitRepo, opts, files...)
if err != nil {
return nil, err
}
@@ -1347,8 +1347,8 @@ outer:
}
// CommentAsDiff returns c.Patch as *Diff
-func CommentAsDiff(c *issues_model.Comment) (*Diff, error) {
- diff, err := ParsePatch(setting.Git.MaxGitDiffLines,
+func CommentAsDiff(ctx context.Context, c *issues_model.Comment) (*Diff, error) {
+ diff, err := ParsePatch(ctx, setting.Git.MaxGitDiffLines,
setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(c.Patch), "")
if err != nil {
log.Error("Unable to parse patch: %v", err)
@@ -1365,7 +1365,7 @@ func CommentAsDiff(c *issues_model.Comment) (*Diff, error) {
}
// CommentMustAsDiff executes AsDiff and logs the error instead of returning
-func CommentMustAsDiff(c *issues_model.Comment) *Diff {
+func CommentMustAsDiff(ctx context.Context, c *issues_model.Comment) *Diff {
if c == nil {
return nil
}
@@ -1374,7 +1374,7 @@ func CommentMustAsDiff(c *issues_model.Comment) *Diff {
log.Error("PANIC whilst retrieving diff for comment[%d] Error: %v\nStack: %s", c.ID, err, log.Stack(2))
}
}()
- diff, err := CommentAsDiff(c)
+ diff, err := CommentAsDiff(ctx, c)
if err != nil {
log.Warn("CommentMustAsDiff: %v", err)
}
diff --git a/services/gitdiff/gitdiff_test.go b/services/gitdiff/gitdiff_test.go
index e270e46fd4..adcac355a7 100644
--- a/services/gitdiff/gitdiff_test.go
+++ b/services/gitdiff/gitdiff_test.go
@@ -175,7 +175,7 @@ diff --git "\\a/README.md" "\\b/README.md"
}
for _, testcase := range tests {
t.Run(testcase.name, func(t *testing.T) {
- got, err := ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(testcase.gitdiff), testcase.skipTo)
+ got, err := ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(testcase.gitdiff), testcase.skipTo)
if (err != nil) != testcase.wantErr {
t.Errorf("ParsePatch(%q) error = %v, wantErr %v", testcase.name, err, testcase.wantErr)
return
@@ -400,7 +400,7 @@ index 6961180..9ba1a00 100644
for _, testcase := range tests {
t.Run(testcase.name, func(t *testing.T) {
- got, err := ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(testcase.gitdiff), "")
+ got, err := ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(testcase.gitdiff), "")
if (err != nil) != testcase.wantErr {
t.Errorf("ParsePatch(%q) error = %v, wantErr %v", testcase.name, err, testcase.wantErr)
return
@@ -449,21 +449,21 @@ index 0000000..6bb8f39
diffBuilder.WriteString("+line" + strconv.Itoa(i) + "\n")
}
diff = diffBuilder.String()
- result, err := ParsePatch(20, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
+ result, err := ParsePatch(db.DefaultContext, 20, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
if err != nil {
t.Errorf("There should not be an error: %v", err)
}
if !result.Files[0].IsIncomplete {
t.Errorf("Files should be incomplete! %v", result.Files[0])
}
- result, err = ParsePatch(40, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
+ result, err = ParsePatch(db.DefaultContext, 40, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
if err != nil {
t.Errorf("There should not be an error: %v", err)
}
if result.Files[0].IsIncomplete {
t.Errorf("Files should not be incomplete! %v", result.Files[0])
}
- result, err = ParsePatch(40, 5, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
+ result, err = ParsePatch(db.DefaultContext, 40, 5, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
if err != nil {
t.Errorf("There should not be an error: %v", err)
}
@@ -494,14 +494,14 @@ index 0000000..6bb8f39
diffBuilder.WriteString("+line" + strconv.Itoa(35) + "\n")
diff = diffBuilder.String()
- result, err = ParsePatch(20, 4096, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
+ result, err = ParsePatch(db.DefaultContext, 20, 4096, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
if err != nil {
t.Errorf("There should not be an error: %v", err)
}
if !result.Files[0].IsIncomplete {
t.Errorf("Files should be incomplete! %v", result.Files[0])
}
- result, err = ParsePatch(40, 4096, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
+ result, err = ParsePatch(db.DefaultContext, 40, 4096, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
if err != nil {
t.Errorf("There should not be an error: %v", err)
}
@@ -520,7 +520,7 @@ index 0000000..6bb8f39
Docker Pulls
+ cut off
+ cut off`
- _, err = ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
+ _, err = ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff), "")
if err != nil {
t.Errorf("ParsePatch failed: %s", err)
}
@@ -536,7 +536,7 @@ index 0000000..6bb8f39
Docker Pulls
+ cut off
+ cut off`
- _, err = ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff2), "")
+ _, err = ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff2), "")
if err != nil {
t.Errorf("ParsePatch failed: %s", err)
}
@@ -552,7 +552,7 @@ index 0000000..6bb8f39
Docker Pulls
+ cut off
+ cut off`
- _, err = ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff2a), "")
+ _, err = ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff2a), "")
if err != nil {
t.Errorf("ParsePatch failed: %s", err)
}
@@ -568,7 +568,7 @@ index 0000000..6bb8f39
Docker Pulls
+ cut off
+ cut off`
- _, err = ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff3), "")
+ _, err = ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(diff3), "")
if err != nil {
t.Errorf("ParsePatch failed: %s", err)
}
@@ -634,7 +634,7 @@ func TestGetDiffRangeWithWhitespaceBehavior(t *testing.T) {
}
defer gitRepo.Close()
for _, behavior := range []git.TrustedCmdArgs{{"-w"}, {"--ignore-space-at-eol"}, {"-b"}, nil} {
- diffs, err := GetDiff(gitRepo,
+ diffs, err := GetDiff(db.DefaultContext, gitRepo,
&DiffOptions{
AfterCommitID: "bd7063cc7c04689c4d082183d32a604ed27a24f9",
BeforeCommitID: "559c156f8e0178b71cb44355428f24001b08fc68",
@@ -665,6 +665,6 @@ func TestNoCrashes(t *testing.T) {
}
for _, testcase := range tests {
// It shouldn't crash, so don't care about the output.
- ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(testcase.gitdiff), "")
+ ParsePatch(db.DefaultContext, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, strings.NewReader(testcase.gitdiff), "")
}
}
diff --git a/services/issue/assignee_test.go b/services/issue/assignee_test.go
index f47ef45ba0..e16b012a17 100644
--- a/services/issue/assignee_test.go
+++ b/services/issue/assignee_test.go
@@ -18,7 +18,7 @@ func TestDeleteNotPassedAssignee(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
// Fake issue with assignees
- issue, err := issues_model.GetIssueWithAttrsByID(1)
+ issue, err := issues_model.GetIssueWithAttrsByID(db.DefaultContext, 1)
assert.NoError(t, err)
assert.Len(t, issue.Assignees, 1)
diff --git a/services/mailer/incoming/incoming_handler.go b/services/mailer/incoming/incoming_handler.go
index 78f9f89fc9..9682c52456 100644
--- a/services/mailer/incoming/incoming_handler.go
+++ b/services/mailer/incoming/incoming_handler.go
@@ -87,7 +87,7 @@ func (h *ReplyHandler) Handle(ctx context.Context, content *MailContent, doer *u
attachmentIDs := make([]string, 0, len(content.Attachments))
if setting.Attachment.Enabled {
for _, attachment := range content.Attachments {
- a, err := attachment_service.UploadAttachment(bytes.NewReader(attachment.Content), setting.Attachment.AllowedTypes, int64(len(attachment.Content)), &repo_model.Attachment{
+ a, err := attachment_service.UploadAttachment(ctx, bytes.NewReader(attachment.Content), setting.Attachment.AllowedTypes, int64(len(attachment.Content)), &repo_model.Attachment{
Name: attachment.Name,
UploaderID: doer.ID,
RepoID: issue.Repo.ID,
diff --git a/services/migrations/gitea_uploader.go b/services/migrations/gitea_uploader.go
index 9e4adc55be..ebf22e0e40 100644
--- a/services/migrations/gitea_uploader.go
+++ b/services/migrations/gitea_uploader.go
@@ -430,7 +430,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
}
if len(iss) > 0 {
- if err := issues_model.InsertIssues(iss...); err != nil {
+ if err := issues_model.InsertIssues(g.ctx, iss...); err != nil {
return err
}
diff --git a/services/mirror/mirror.go b/services/mirror/mirror.go
index f496e05a3f..72e545581a 100644
--- a/services/mirror/mirror.go
+++ b/services/mirror/mirror.go
@@ -54,7 +54,7 @@ func Update(ctx context.Context, pullLimit, pushLimit int) error {
mirrorType = PullMirrorType
referenceID = m.RepoID
} else if m, ok := bean.(*repo_model.PushMirror); ok {
- if m.GetRepository() == nil {
+ if m.GetRepository(ctx) == nil {
log.Error("Disconnected push-mirror found: %d", m.ID)
return nil
}
diff --git a/services/mirror/mirror_pull.go b/services/mirror/mirror_pull.go
index d1f0391d7a..be426d4312 100644
--- a/services/mirror/mirror_pull.go
+++ b/services/mirror/mirror_pull.go
@@ -9,7 +9,6 @@ import (
"strings"
"time"
- "code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
system_model "code.gitea.io/gitea/models/system"
"code.gitea.io/gitea/modules/cache"
@@ -461,7 +460,7 @@ func SyncPullMirror(ctx context.Context, repoID int64) bool {
}
defer gitRepo.Close()
- if ok := checkAndUpdateEmptyRepository(m, gitRepo, results); !ok {
+ if ok := checkAndUpdateEmptyRepository(ctx, m, gitRepo, results); !ok {
return false
}
}
@@ -550,7 +549,7 @@ func SyncPullMirror(ctx context.Context, repoID int64) bool {
return true
}
-func checkAndUpdateEmptyRepository(m *repo_model.Mirror, gitRepo *git.Repository, results []*mirrorSyncResult) bool {
+func checkAndUpdateEmptyRepository(ctx context.Context, m *repo_model.Mirror, gitRepo *git.Repository, results []*mirrorSyncResult) bool {
if !m.Repo.IsEmpty {
return true
}
@@ -601,7 +600,7 @@ func checkAndUpdateEmptyRepository(m *repo_model.Mirror, gitRepo *git.Repository
}
m.Repo.IsEmpty = false
// Update the is empty and default_branch columns
- if err := repo_model.UpdateRepositoryCols(db.DefaultContext, m.Repo, "default_branch", "is_empty"); err != nil {
+ if err := repo_model.UpdateRepositoryCols(ctx, m.Repo, "default_branch", "is_empty"); err != nil {
log.Error("Failed to update default branch of repository %-v. Error: %v", m.Repo, err)
desc := fmt.Sprintf("Failed to update default branch of repository '%s': %v", m.Repo.RepoPath(), err)
if err = system_model.CreateRepositoryNotice(desc); err != nil {
diff --git a/services/mirror/mirror_push.go b/services/mirror/mirror_push.go
index 594d31df89..6eaca71495 100644
--- a/services/mirror/mirror_push.go
+++ b/services/mirror/mirror_push.go
@@ -65,7 +65,7 @@ func AddPushMirrorRemote(ctx context.Context, m *repo_model.PushMirror, addr str
// RemovePushMirrorRemote removes the push mirror remote.
func RemovePushMirrorRemote(ctx context.Context, m *repo_model.PushMirror) error {
cmd := git.NewCommand(ctx, "remote", "rm").AddDynamicArguments(m.RemoteName)
- _ = m.GetRepository()
+ _ = m.GetRepository(ctx)
if _, _, err := cmd.RunStdString(&git.RunOpts{Dir: m.Repo.RepoPath()}); err != nil {
return err
@@ -99,7 +99,7 @@ func SyncPushMirror(ctx context.Context, mirrorID int64) bool {
return false
}
- _ = m.GetRepository()
+ _ = m.GetRepository(ctx)
m.LastError = ""
diff --git a/services/pull/review.go b/services/pull/review.go
index 64eea22eec..3f5644b0cd 100644
--- a/services/pull/review.go
+++ b/services/pull/review.go
@@ -264,7 +264,7 @@ func createCodeComment(ctx context.Context, doer *user_model.User, repo *repo_mo
// SubmitReview creates a review out of the existing pending review or creates a new one if no pending review exist
func SubmitReview(ctx context.Context, doer *user_model.User, gitRepo *git.Repository, issue *issues_model.Issue, reviewType issues_model.ReviewType, content, commitID string, attachmentUUIDs []string) (*issues_model.Review, *issues_model.Comment, error) {
- pr, err := issue.GetPullRequest()
+ pr, err := issue.GetPullRequest(ctx)
if err != nil {
return nil, nil, err
}
diff --git a/services/release/release_test.go b/services/release/release_test.go
index 3f0c67b0e0..4b57262981 100644
--- a/services/release/release_test.go
+++ b/services/release/release_test.go
@@ -107,7 +107,7 @@ func TestRelease_Create(t *testing.T) {
testPlayload := "testtest"
- attach, err := attachment.NewAttachment(&repo_model.Attachment{
+ attach, err := attachment.NewAttachment(db.DefaultContext, &repo_model.Attachment{
RepoID: repo.ID,
UploaderID: user.ID,
Name: "test.txt",
@@ -241,7 +241,7 @@ func TestRelease_Update(t *testing.T) {
// Add new attachments
samplePayload := "testtest"
- attach, err := attachment.NewAttachment(&repo_model.Attachment{
+ attach, err := attachment.NewAttachment(db.DefaultContext, &repo_model.Attachment{
RepoID: repo.ID,
UploaderID: user.ID,
Name: "test.txt",
diff --git a/services/repository/create_test.go b/services/repository/create_test.go
index 36065cafff..a9827c6889 100644
--- a/services/repository/create_test.go
+++ b/services/repository/create_test.go
@@ -44,7 +44,7 @@ func TestIncludesAllRepositoriesTeams(t *testing.T) {
Type: user_model.UserTypeOrganization,
Visibility: structs.VisibleTypePublic,
}
- assert.NoError(t, organization.CreateOrganization(org, user), "CreateOrganization")
+ assert.NoError(t, organization.CreateOrganization(db.DefaultContext, org, user), "CreateOrganization")
// Check Owner team.
ownerTeam, err := org.GetOwnerTeam(db.DefaultContext)
diff --git a/services/repository/files/temp_repo.go b/services/repository/files/temp_repo.go
index 7f6b8137ae..50c76970fd 100644
--- a/services/repository/files/temp_repo.go
+++ b/services/repository/files/temp_repo.go
@@ -343,7 +343,7 @@ func (t *TemporaryUploadRepository) DiffIndex() (*gitdiff.Diff, error) {
Stderr: stderr,
PipelineFunc: func(ctx context.Context, cancel context.CancelFunc) error {
_ = stdoutWriter.Close()
- diff, finalErr = gitdiff.ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, stdoutReader, "")
+ diff, finalErr = gitdiff.ParsePatch(t.ctx, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, stdoutReader, "")
if finalErr != nil {
log.Error("ParsePatch: %v", finalErr)
cancel()
diff --git a/services/user/user.go b/services/user/user.go
index 26dab4e1dd..53cc361107 100644
--- a/services/user/user.go
+++ b/services/user/user.go
@@ -189,7 +189,7 @@ func DeleteUser(ctx context.Context, u *user_model.User, purge bool) error {
// An alternative option here would be write a function which would delete all organizations but it seems
// but such a function would likely get out of date
for {
- orgs, err := organization.FindOrgs(organization.FindOrgOptions{
+ orgs, err := organization.FindOrgs(ctx, organization.FindOrgOptions{
ListOptions: db.ListOptions{
PageSize: repo_model.RepositoryListDefaultPageSize,
Page: 1,
diff --git a/services/wiki/wiki.go b/services/wiki/wiki.go
index 250b539080..18371efd09 100644
--- a/services/wiki/wiki.go
+++ b/services/wiki/wiki.go
@@ -350,7 +350,7 @@ func DeleteWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model
// DeleteWiki removes the actual and local copy of repository wiki.
func DeleteWiki(ctx context.Context, repo *repo_model.Repository) error {
- if err := repo_model.UpdateRepositoryUnits(repo, nil, []unit.Type{unit.TypeWiki}); err != nil {
+ if err := repo_model.UpdateRepositoryUnits(ctx, repo, nil, []unit.Type{unit.TypeWiki}); err != nil {
return err
}