Skip to content

Commit ec3ab98

Browse files
committed
add context to ReadTreeToIndex
1 parent 3d0c6e0 commit ec3ab98

File tree

12 files changed

+22
-21
lines changed

12 files changed

+22
-21
lines changed

modules/git/repo_attribute.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,8 @@ func (wr *nulSeparatedAttributeWriter) Close() error {
282282
}
283283

284284
// Create a check attribute reader for the current repository and provided commit ID
285-
func (repo *Repository) CheckAttributeReader(commitID string) (*CheckAttributeReader, context.CancelFunc) {
286-
indexFilename, worktree, deleteTemporaryFile, err := repo.ReadTreeToTemporaryIndex(commitID)
285+
func (repo *Repository) CheckAttributeReader(ctx context.Context, commitID string) (*CheckAttributeReader, context.CancelFunc) {
286+
indexFilename, worktree, deleteTemporaryFile, err := repo.ReadTreeToTemporaryIndex(ctx, commitID)
287287
if err != nil {
288288
return nil, func() {}
289289
}
@@ -301,7 +301,7 @@ func (repo *Repository) CheckAttributeReader(commitID string) (*CheckAttributeRe
301301
IndexFile: indexFilename,
302302
WorkTree: worktree,
303303
}
304-
ctx, cancel := context.WithCancel(repo.Ctx)
304+
ctx, cancel := context.WithCancel(ctx)
305305
if err := checker.Init(ctx); err != nil {
306306
log.Error("Unable to open checker for %s. Error: %v", commitID, err)
307307
} else {

modules/git/repo_index.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ import (
1515
)
1616

1717
// ReadTreeToIndex reads a treeish to the index
18-
func (repo *Repository) ReadTreeToIndex(treeish string, indexFilename ...string) error {
18+
func (repo *Repository) ReadTreeToIndex(ctx context.Context, treeish string, indexFilename ...string) error {
1919
objectFormat, err := repo.GetObjectFormat()
2020
if err != nil {
2121
return err
2222
}
2323

2424
if len(treeish) != objectFormat.FullLength() {
25-
res, _, err := NewCommand("rev-parse", "--verify").AddDynamicArguments(treeish).RunStdString(repo.Ctx, &RunOpts{Dir: repo.Path})
25+
res, _, err := NewCommand("rev-parse", "--verify").AddDynamicArguments(treeish).RunStdString(ctx, &RunOpts{Dir: repo.Path})
2626
if err != nil {
2727
return err
2828
}
@@ -50,7 +50,7 @@ func (repo *Repository) readTreeToIndex(id ObjectID, indexFilename ...string) er
5050
}
5151

5252
// ReadTreeToTemporaryIndex reads a treeish to a temporary index file
53-
func (repo *Repository) ReadTreeToTemporaryIndex(treeish string) (tmpIndexFilename, tmpDir string, cancel context.CancelFunc, err error) {
53+
func (repo *Repository) ReadTreeToTemporaryIndex(ctx context.Context, treeish string) (tmpIndexFilename, tmpDir string, cancel context.CancelFunc, err error) {
5454
defer func() {
5555
// if error happens and there is a cancel function, do clean up
5656
if err != nil && cancel != nil {
@@ -74,7 +74,7 @@ func (repo *Repository) ReadTreeToTemporaryIndex(treeish string) (tmpIndexFilena
7474

7575
tmpIndexFilename = filepath.Join(tmpDir, ".tmp-index")
7676
cancel = removeDirFn(tmpDir)
77-
err = repo.ReadTreeToIndex(treeish, tmpIndexFilename)
77+
err = repo.ReadTreeToIndex(ctx, treeish, tmpIndexFilename)
7878
if err != nil {
7979
return "", "", cancel, err
8080
}

modules/git/repo_language_stats_nogogit.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package git
77

88
import (
99
"bytes"
10+
"context"
1011
"io"
1112

1213
"code.gitea.io/gitea/modules/analyze"
@@ -17,7 +18,7 @@ import (
1718
)
1819

1920
// GetLanguageStats calculates language stats for git repository at specified commit
20-
func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, error) {
21+
func (repo *Repository) GetLanguageStats(ctx context.Context, commitID string) (map[string]int64, error) {
2122
// We will feed the commit IDs in order into cat-file --batch, followed by blobs as necessary.
2223
// so let's create a batch stdin and stdout
2324
batchStdinWriter, batchReader, cancel, err := repo.CatFileBatch(repo.Ctx)
@@ -62,7 +63,7 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err
6263
return nil, err
6364
}
6465

65-
checker, deferable := repo.CheckAttributeReader(commitID)
66+
checker, deferable := repo.CheckAttributeReader(ctx, commitID)
6667
defer deferable()
6768

6869
contentBuf := bytes.Buffer{}

modules/git/repo_language_stats_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestRepository_GetLanguageStats(t *testing.T) {
2020

2121
defer gitRepo.Close()
2222

23-
stats, err := gitRepo.GetLanguageStats("8fee858da5796dfb37704761701bb8e800ad9ef3")
23+
stats, err := gitRepo.GetLanguageStats(t.Context(), "8fee858da5796dfb37704761701bb8e800ad9ef3")
2424
require.NoError(t, err)
2525

2626
assert.EqualValues(t, map[string]int64{

modules/indexer/stats/db.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (db *DBIndexer) Index(id int64) error {
6262
}
6363

6464
// Calculate and save language statistics to database
65-
stats, err := gitRepo.GetLanguageStats(commitID)
65+
stats, err := gitRepo.GetLanguageStats(ctx, commitID)
6666
if err != nil {
6767
if !setting.IsInTesting {
6868
log.Error("Unable to get language stats for ID %s for default branch %s in %s. Error: %v", commitID, repo.DefaultBranch, repo.FullName(), err)

routers/web/repo/blame.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ func processBlameParts(ctx *context.Context, blameParts []*git.BlamePart) map[st
234234
func renderBlame(ctx *context.Context, blameParts []*git.BlamePart, commitNames map[string]*user_model.UserCommit) {
235235
repoLink := ctx.Repo.RepoLink
236236

237-
language, err := files_service.TryGetContentLanguage(ctx.Repo.GitRepo, ctx.Repo.CommitID, ctx.Repo.TreePath)
237+
language, err := files_service.TryGetContentLanguage(ctx, ctx.Repo.GitRepo, ctx.Repo.CommitID, ctx.Repo.TreePath)
238238
if err != nil {
239239
log.Error("Unable to get file language for %-v:%s. Error: %v", ctx.Repo.Repository, ctx.Repo.TreePath, err)
240240
}

routers/web/repo/setting/lfs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ func LFSLocks(ctx *context.Context) {
144144
filenames[i] = lock.Path
145145
}
146146

147-
if err := gitRepo.ReadTreeToIndex(ctx.Repo.Repository.DefaultBranch); err != nil {
147+
if err := gitRepo.ReadTreeToIndex(ctx, ctx.Repo.Repository.DefaultBranch); err != nil {
148148
log.Error("Unable to read the default branch to the index: %s (%v)", ctx.Repo.Repository.DefaultBranch, err)
149149
ctx.ServerError("LFSLocks", fmt.Errorf("unable to read the default branch to the index: %s (%w)", ctx.Repo.Repository.DefaultBranch, err))
150150
return

routers/web/repo/view_file.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func prepareToRenderFile(ctx *context.Context, entry *git.TreeEntry) {
201201
ctx.Data["NumLines"] = bytes.Count(buf, []byte{'\n'}) + 1
202202
}
203203

204-
language, err := files_service.TryGetContentLanguage(ctx.Repo.GitRepo, ctx.Repo.CommitID, ctx.Repo.TreePath)
204+
language, err := files_service.TryGetContentLanguage(ctx, ctx.Repo.GitRepo, ctx.Repo.CommitID, ctx.Repo.TreePath)
205205
if err != nil {
206206
log.Error("Unable to get file language for %-v:%s. Error: %v", ctx.Repo.Repository, ctx.Repo.TreePath, err)
207207
}
@@ -276,7 +276,7 @@ func prepareToRenderFile(ctx *context.Context, entry *git.TreeEntry) {
276276
}
277277

278278
if ctx.Repo.GitRepo != nil {
279-
checker, deferable := ctx.Repo.GitRepo.CheckAttributeReader(ctx.Repo.CommitID)
279+
checker, deferable := ctx.Repo.GitRepo.CheckAttributeReader(ctx, ctx.Repo.CommitID)
280280
if checker != nil {
281281
defer deferable()
282282
attrs, err := checker.CheckPath(ctx.Repo.TreePath)

services/gitdiff/gitdiff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@ func GetDiffForRender(ctx context.Context, gitRepo *git.Repository, opts *DiffOp
12371237
return nil, err
12381238
}
12391239

1240-
checker, deferrable := gitRepo.CheckAttributeReader(opts.AfterCommitID)
1240+
checker, deferrable := gitRepo.CheckAttributeReader(ctx, opts.AfterCommitID)
12411241
defer deferrable()
12421242

12431243
for _, diffFile := range diff.Files {

services/markup/renderhelper_codepreview.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func renderRepoFileCodePreview(ctx context.Context, opts markup.RenderCodePrevie
6161
return "", err
6262
}
6363

64-
language, _ := files.TryGetContentLanguage(gitRepo, opts.CommitID, opts.FilePath)
64+
language, _ := files.TryGetContentLanguage(ctx, gitRepo, opts.CommitID, opts.FilePath)
6565
blob, err := commit.GetBlobByPath(opts.FilePath)
6666
if err != nil {
6767
return "", err

services/repository/files/content.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,8 @@ func GetBlobBySHA(ctx context.Context, repo *repo_model.Repository, gitRepo *git
271271
}
272272

273273
// TryGetContentLanguage tries to get the (linguist) language of the file content
274-
func TryGetContentLanguage(gitRepo *git.Repository, commitID, treePath string) (string, error) {
275-
indexFilename, worktree, deleteTemporaryFile, err := gitRepo.ReadTreeToTemporaryIndex(commitID)
274+
func TryGetContentLanguage(ctx context.Context, gitRepo *git.Repository, commitID, treePath string) (string, error) {
275+
indexFilename, worktree, deleteTemporaryFile, err := gitRepo.ReadTreeToTemporaryIndex(ctx, commitID)
276276
if err != nil {
277277
return "", err
278278
}

services/wiki/wiki.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ func updateWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model
134134
defer gitRepo.Close()
135135

136136
if hasDefaultBranch {
137-
if err := gitRepo.ReadTreeToIndex("HEAD"); err != nil {
137+
if err := gitRepo.ReadTreeToIndex(ctx, "HEAD"); err != nil {
138138
log.Error("Unable to read HEAD tree to index in: %s %v", basePath, err)
139139
return fmt.Errorf("fnable to read HEAD tree to index in: %s %w", basePath, err)
140140
}
@@ -290,7 +290,7 @@ func DeleteWikiPage(ctx context.Context, doer *user_model.User, repo *repo_model
290290
}
291291
defer gitRepo.Close()
292292

293-
if err := gitRepo.ReadTreeToIndex("HEAD"); err != nil {
293+
if err := gitRepo.ReadTreeToIndex(ctx, "HEAD"); err != nil {
294294
log.Error("Unable to read HEAD tree to index in: %s %v", basePath, err)
295295
return fmt.Errorf("unable to read HEAD tree to index in: %s %w", basePath, err)
296296
}

0 commit comments

Comments
 (0)