Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kim <dkim@gitlab.com>2023-11-03 08:10:18 +0300
committerDavid Kim <dkim@gitlab.com>2023-11-03 09:03:18 +0300
commit954cffa7c896abe679d3e2bc2bd0680159963b89 (patch)
tree75c692bfa3279a3a0e4e4a676e7ed56872244c95
parenta2162b61e6e77d2363aea406508b6508d71cba9b (diff)
Remove context from the Instance and pass in instead5646-update-commitdiff-to-collapse-generated-files
-rw-r--r--internal/gitaly/linguist/linguist.go18
-rw-r--r--internal/gitaly/linguist/linguist_test.go12
-rw-r--r--internal/gitaly/service/commit/languages.go2
-rw-r--r--internal/gitaly/service/diff/commit_diff.go6
4 files changed, 18 insertions, 20 deletions
diff --git a/internal/gitaly/linguist/linguist.go b/internal/gitaly/linguist/linguist.go
index 3b776fd11..bba628696 100644
--- a/internal/gitaly/linguist/linguist.go
+++ b/internal/gitaly/linguist/linguist.go
@@ -21,7 +21,6 @@ type ByteCountPerLanguage map[string]uint64
// Instance is a holder of the defined in the system language settings.
type Instance struct {
- ctx context.Context
logger log.Logger
catfileCache catfile.Cache
repo *localrepo.Repo
@@ -29,9 +28,8 @@ type Instance struct {
// New creates a new instance that can be used to calculate language stats for
// the given repo.
-func New(ctx context.Context, logger log.Logger, catfileCache catfile.Cache, repo *localrepo.Repo) *Instance {
+func New(logger log.Logger, catfileCache catfile.Cache, repo *localrepo.Repo) *Instance {
return &Instance{
- ctx: ctx,
logger: logger,
catfileCache: catfileCache,
repo: repo,
@@ -53,7 +51,7 @@ func Color(language string) string {
// first then uses the huristics from go-enry if the override is not defined.
// Generated files are usually generated based on a template or source file
// by running a build tool.
-func (inst *Instance) IsGenerated(checkAttrCmd *gitattributes.CheckAttrCmd, filename string, oid git.ObjectID) (bool, error) {
+func (inst *Instance) IsGenerated(ctx context.Context, checkAttrCmd *gitattributes.CheckAttrCmd, filename string, oid git.ObjectID) (bool, error) {
fileInstance, err := newFileInstance(filename, checkAttrCmd)
if err != nil {
return false, fmt.Errorf("new file instance: %w", err)
@@ -68,7 +66,7 @@ func (inst *Instance) IsGenerated(checkAttrCmd *gitattributes.CheckAttrCmd, file
}
// Read arbitrary number of bytes considered enough to determine language.
- content, err := inst.readPartialObject(oid, 2048)
+ content, err := inst.readPartialObject(ctx, oid, 2048)
if err != nil {
return false, fmt.Errorf("read partial content: %w", err)
}
@@ -77,10 +75,10 @@ func (inst *Instance) IsGenerated(checkAttrCmd *gitattributes.CheckAttrCmd, file
}
// CheckAttrGenerated returns a CheckAttr that reads linguist-generated override
-func (inst *Instance) CheckAttrGenerated(revision git.Revision) (*gitattributes.CheckAttrCmd, func(), error) {
+func (inst *Instance) CheckAttrGenerated(ctx context.Context, revision git.Revision) (*gitattributes.CheckAttrCmd, func(), error) {
attrs := []string{linguistGenerated}
- checkAttr, finishAttr, err := gitattributes.CheckAttr(inst.ctx, inst.repo, revision, attrs)
+ checkAttr, finishAttr, err := gitattributes.CheckAttr(ctx, inst.repo, revision, attrs)
if err != nil {
return nil, nil, err
}
@@ -89,14 +87,14 @@ func (inst *Instance) CheckAttrGenerated(revision git.Revision) (*gitattributes.
}
// readPartialObject reads given object upto the limit and discard the rest
-func (inst *Instance) readPartialObject(oid git.ObjectID, limit int64) ([]byte, error) {
- objectReader, cancel, err := inst.catfileCache.ObjectReader(inst.ctx, inst.repo)
+func (inst *Instance) readPartialObject(ctx context.Context, oid git.ObjectID, limit int64) ([]byte, error) {
+ objectReader, cancel, err := inst.catfileCache.ObjectReader(ctx, inst.repo)
if err != nil {
return nil, fmt.Errorf("new object reader: %w", err)
}
defer cancel()
- blob, err := objectReader.Object(inst.ctx, git.Revision(oid))
+ blob, err := objectReader.Object(ctx, git.Revision(oid))
if err != nil {
return nil, fmt.Errorf("new object: %w", err)
}
diff --git a/internal/gitaly/linguist/linguist_test.go b/internal/gitaly/linguist/linguist_test.go
index 085306a6c..d3b984ffe 100644
--- a/internal/gitaly/linguist/linguist_test.go
+++ b/internal/gitaly/linguist/linguist_test.go
@@ -366,7 +366,7 @@ func TestInstance_Stats(t *testing.T) {
// We simply run the linguist once before so that it can already
// write the cache.
- _, err := New(ctx, testhelper.NewLogger(t), catfileCache, repo).Stats(ctx, commitID)
+ _, err := New(testhelper.NewLogger(t), catfileCache, repo).Stats(ctx, commitID)
require.NoError(t, err)
require.FileExists(t, filepath.Join(repoPath, languageStatsFilename))
@@ -397,7 +397,7 @@ func TestInstance_Stats(t *testing.T) {
))
repo := localrepo.NewTestRepo(t, cfg, repoProto)
- _, err := New(ctx, testhelper.NewLogger(t), catfileCache, repo).Stats(ctx, commitID)
+ _, err := New(testhelper.NewLogger(t), catfileCache, repo).Stats(ctx, commitID)
require.NoError(t, err)
require.FileExists(t, filepath.Join(repoPath, languageStatsFilename))
@@ -485,7 +485,7 @@ func TestInstance_Stats(t *testing.T) {
// Precreate the cache with the old commit. This ensures that
// linguist knows to update the cache.
- stats, err := New(ctx, testhelper.NewLogger(t), catfileCache, repo).Stats(ctx, oldCommitID)
+ stats, err := New(testhelper.NewLogger(t), catfileCache, repo).Stats(ctx, oldCommitID)
require.NoError(t, err)
require.FileExists(t, filepath.Join(repoPath, languageStatsFilename))
require.Equal(t, ByteCountPerLanguage{
@@ -524,7 +524,7 @@ func TestInstance_Stats(t *testing.T) {
repoProto, repoPath, objectID := tc.setup(t)
repo := localrepo.NewTestRepo(t, cfg, repoProto)
- linguist := New(ctx, testhelper.NewLogger(t), catfileCache, repo)
+ linguist := New(testhelper.NewLogger(t), catfileCache, repo)
stats, err := linguist.Stats(ctx, objectID)
if tc.expectedErr == "" {
require.NoError(t, err)
@@ -568,7 +568,7 @@ func TestInstance_Stats_failureGitattributes(t *testing.T) {
repo := localrepo.New(logger, locator, gitCmdFactory, catfileCache, repoProto)
- linguist := New(ctx, logger, catfileCache, repo)
+ linguist := New(logger, catfileCache, repo)
_, err := linguist.Stats(ctx, commitID)
expectedErr := `linguist object iterator: ls-tree skip: new file instance: checking attribute:`
@@ -609,7 +609,7 @@ func BenchmarkInstance_Stats(b *testing.B) {
})
repo := localrepo.NewTestRepo(b, cfg, repoProto)
- linguist := New(ctx, testhelper.NewLogger(b), catfileCache, repo)
+ linguist := New(testhelper.NewLogger(b), catfileCache, repo)
var scratchStat ByteCountPerLanguage
var incStats ByteCountPerLanguage
diff --git a/internal/gitaly/service/commit/languages.go b/internal/gitaly/service/commit/languages.go
index e2c2e48ef..aa87a55f2 100644
--- a/internal/gitaly/service/commit/languages.go
+++ b/internal/gitaly/service/commit/languages.go
@@ -49,7 +49,7 @@ func (s *server) CommitLanguages(ctx context.Context, req *gitalypb.CommitLangua
return nil, structerr.NewInternal("looking up revision: %w", err)
}
- stats, err := linguist.New(ctx, s.logger, s.catfileCache, repo).Stats(ctx, git.ObjectID(commitID))
+ stats, err := linguist.New(s.logger, s.catfileCache, repo).Stats(ctx, git.ObjectID(commitID))
if err != nil {
return nil, structerr.NewInternal("language stats: %w", err)
}
diff --git a/internal/gitaly/service/diff/commit_diff.go b/internal/gitaly/service/diff/commit_diff.go
index 63b2215d5..97e4c31f6 100644
--- a/internal/gitaly/service/diff/commit_diff.go
+++ b/internal/gitaly/service/diff/commit_diff.go
@@ -91,8 +91,8 @@ func (s *server) CommitDiff(in *gitalypb.CommitDiffRequest, stream gitalypb.Diff
var checkAttrFinish func()
if in.CollapseGenerated && in.CollapseDiffs {
- linguistInstance = linguist.New(ctx, s.logger, s.catfileCache, repo)
- checkAttrCmd, checkAttrFinish, err = linguistInstance.CheckAttrGenerated(git.Revision(leftSha))
+ linguistInstance = linguist.New(s.logger, s.catfileCache, repo)
+ checkAttrCmd, checkAttrFinish, err = linguistInstance.CheckAttrGenerated(ctx, git.Revision(leftSha))
if err != nil {
return structerr.NewAborted("send: %w", err)
}
@@ -122,7 +122,7 @@ func (s *server) CommitDiff(in *gitalypb.CommitDiffRequest, stream gitalypb.Diff
oid = git.ObjectID(diff.ToID)
}
- linguistGenerated, err := linguistInstance.IsGenerated(checkAttrCmd, string(diff.FromPath), oid)
+ linguistGenerated, err := linguistInstance.IsGenerated(ctx, checkAttrCmd, string(diff.FromPath), oid)
if err != nil {
return structerr.NewAborted("send: %w", err)
}