mirror of
https://github.com/go-gitea/gitea.git
synced 2026-08-14 21:42:49 +00:00
refactor: remove Ctx field from git.Repository (#38500)
This commit is contained in:
@@ -110,9 +110,9 @@ var validRefSuffix = sync.OnceValue(func() *regexp.Regexp {
|
||||
// ResolveRefWithSuffix resolves oriRef plus an optional revision suffix (^, ~N) to a RefName.
|
||||
// A nil error guarantees a usable RefName: an unsupported suffix yields an invalid-argument error
|
||||
// and an unresolvable ref yields a not-found error.
|
||||
func ResolveRefWithSuffix(gitRepo *git.Repository, oriRef, refSuffix string) (git.RefName, error) {
|
||||
func ResolveRefWithSuffix(ctx context.Context, gitRepo *git.Repository, oriRef, refSuffix string) (git.RefName, error) {
|
||||
if refSuffix == "" {
|
||||
if refName := gitRepo.UnstableGuessRefByShortName(oriRef); refName != "" {
|
||||
if refName := gitRepo.UnstableGuessRefByShortName(ctx, oriRef); refName != "" {
|
||||
return refName, nil
|
||||
}
|
||||
return "", util.NewNotExistErrorf("ref %q does not exist", oriRef)
|
||||
@@ -120,7 +120,7 @@ func ResolveRefWithSuffix(gitRepo *git.Repository, oriRef, refSuffix string) (gi
|
||||
if !validRefSuffix().MatchString(refSuffix) {
|
||||
return "", util.NewInvalidArgumentErrorf("unsupported ref suffix %q", refSuffix)
|
||||
}
|
||||
commit, err := gitRepo.GetCommit(oriRef + refSuffix)
|
||||
commit, err := gitRepo.GetCommit(ctx, oriRef+refSuffix)
|
||||
if err != nil {
|
||||
return "", util.NewNotExistErrorf("ref %q does not exist", oriRef+refSuffix)
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ func TestResolveRefWithSuffix(t *testing.T) {
|
||||
// The ^{...}, @{...} and :path forms address non-commit objects or reflog state, so they are
|
||||
// rejected before any repository access and a nil repo is fine here.
|
||||
for _, refSuffix := range []string{"^{/Add}", "^{commit}", "@{upstream}", "~1:path"} {
|
||||
ref, err := ResolveRefWithSuffix(nil, "branch", refSuffix)
|
||||
ref, err := ResolveRefWithSuffix(t.Context(), nil, "branch", refSuffix)
|
||||
assert.ErrorIs(t, err, util.ErrInvalidArgument, "suffix %q", refSuffix)
|
||||
assert.Empty(t, ref, "suffix %q", refSuffix)
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ func ServeBlob(ctx *context.Base, repo *repo_model.Repository, filePath string,
|
||||
return err
|
||||
}
|
||||
|
||||
dataRc, err := blob.DataAsync()
|
||||
dataRc, err := blob.DataAsync(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -35,7 +35,7 @@ func ServeBlob(ctx *context.Base, repo *repo_model.Repository, filePath string,
|
||||
if lastModified == nil {
|
||||
lastModified = new(time.Time)
|
||||
}
|
||||
httplib.ServeUserContentByReader(ctx.Req, ctx.Resp, blob.Size(), dataRc, httplib.ServeHeaderOptions{
|
||||
httplib.ServeUserContentByReader(ctx.Req, ctx.Resp, blob.Size(ctx), dataRc, httplib.ServeHeaderOptions{
|
||||
Filename: path.Base(filePath),
|
||||
CacheIsPublic: !repo.IsPrivate && repo.Owner.Visibility == structs.VisibleTypePublic,
|
||||
CacheDuration: setting.StaticCacheTime,
|
||||
|
||||
Reference in New Issue
Block a user