Skip to content

Commit aa2cc66

Browse files
committed
fix lint & test
1 parent f6d949b commit aa2cc66

File tree

6 files changed

+22
-22
lines changed

6 files changed

+22
-22
lines changed

routers/api/v1/api.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1397,7 +1397,7 @@ func Routes() *web.Router {
13971397
m.Delete("", bind(api.DeleteFileOptions{}), reqRepoBranchWriter, mustNotBeArchived, repo.DeleteFile)
13981398
}, reqToken())
13991399
}, reqRepoReader(unit.TypeCode), context.ReferencesGitRepo())
1400-
m.Post("/files", reqRepoReader(unit.TypeCode), context.ReferencesGitRepo(), context.RepoRefForAPI, bind(api.GetFilesOptions{}), repo.GetFiles)
1400+
m.Post("/files", reqRepoReader(unit.TypeCode), context.ReferencesGitRepo(), bind(api.GetFilesOptions{}), repo.GetFiles)
14011401
m.Get("/signing-key.gpg", misc.SigningKey)
14021402
m.Group("/topics", func() {
14031403
m.Combo("").Get(repo.ListTopics).

routers/api/v1/repo/file.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -896,9 +896,9 @@ func DeleteFile(ctx *context.APIContext) {
896896
}
897897
}
898898

899-
func resolveRefCommit(ctx *context.APIContext, ref string) *utils.RefCommit {
899+
func resolveRefCommit(ctx *context.APIContext, ref string, minCommitIDLen ...int) *utils.RefCommit {
900900
ref = util.IfZero(ref, ctx.Repo.Repository.DefaultBranch)
901-
refCommit, err := utils.ResolveRefCommit(ctx, ctx.Repo.Repository, ref)
901+
refCommit, err := utils.ResolveRefCommit(ctx, ctx.Repo.Repository, ref, minCommitIDLen...)
902902
if errors.Is(err, util.ErrNotExist) {
903903
ctx.APIErrorNotFound(err)
904904
} else if err != nil {

routers/api/v1/repo/status.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ func GetCommitStatusesByRef(ctx *context.APIContext) {
177177
// "404":
178178
// "$ref": "#/responses/notFound"
179179

180-
refCommit := resolveRefCommit(ctx, ctx.PathParam("ref"))
180+
refCommit := resolveRefCommit(ctx, ctx.PathParam("ref"), 7)
181181
if ctx.Written() {
182182
return
183183
}
@@ -251,7 +251,7 @@ func GetCombinedCommitStatusByRef(ctx *context.APIContext) {
251251
// "404":
252252
// "$ref": "#/responses/notFound"
253253

254-
refCommit := resolveRefCommit(ctx, ctx.PathParam("ref"))
254+
refCommit := resolveRefCommit(ctx, ctx.PathParam("ref"), 7)
255255
if ctx.Written() {
256256
return
257257
}

routers/api/v1/utils/git.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,37 @@ import (
1515

1616
type RefCommit struct {
1717
InputRef string
18-
Ref git.RefName
18+
RefName git.RefName
1919
Commit *git.Commit
2020
CommitID string
2121
}
2222

2323
// ResolveRefCommit resolve ref to a commit if exist
24-
func ResolveRefCommit(ctx reqctx.RequestContext, repo *repo_model.Repository, inputRef string) (_ *RefCommit, err error) {
24+
func ResolveRefCommit(ctx reqctx.RequestContext, repo *repo_model.Repository, inputRef string, minCommitIDLen ...int) (_ *RefCommit, err error) {
2525
gitRepo, err := gitrepo.RepositoryFromRequestContextOrOpen(ctx, repo)
2626
if err != nil {
2727
return nil, err
2828
}
2929
refCommit := RefCommit{InputRef: inputRef}
3030
if gitrepo.IsBranchExist(ctx, repo, inputRef) {
31-
refCommit.Ref = git.RefNameFromBranch(inputRef)
31+
refCommit.RefName = git.RefNameFromBranch(inputRef)
3232
} else if gitrepo.IsTagExist(ctx, repo, inputRef) {
33-
refCommit.Ref = git.RefNameFromTag(inputRef)
34-
} else if len(inputRef) == git.ObjectFormatFromName(repo.ObjectFormatName).FullLength() {
35-
refCommit.Ref = git.RefNameFromCommit(inputRef)
33+
refCommit.RefName = git.RefNameFromTag(inputRef)
34+
} else if git.IsStringLikelyCommitID(git.ObjectFormatFromName(repo.ObjectFormatName), inputRef, minCommitIDLen...) {
35+
refCommit.RefName = git.RefNameFromCommit(inputRef)
3636
}
37-
if refCommit.Ref == "" {
37+
if refCommit.RefName == "" {
3838
return nil, git.ErrNotExist{ID: inputRef}
3939
}
40-
if refCommit.Commit, err = gitRepo.GetCommit(refCommit.Ref.String()); err != nil {
40+
if refCommit.Commit, err = gitRepo.GetCommit(refCommit.RefName.String()); err != nil {
4141
return nil, err
4242
}
4343
refCommit.CommitID = refCommit.Commit.ID.String()
4444
return &refCommit, nil
4545
}
4646

4747
func NewRefCommit(refName git.RefName, commit *git.Commit) *RefCommit {
48-
return &RefCommit{InputRef: refName.ShortName(), Ref: refName, Commit: commit, CommitID: commit.ID.String()}
48+
return &RefCommit{InputRef: refName.ShortName(), RefName: refName, Commit: commit, CommitID: commit.ID.String()}
4949
}
5050

5151
// GetGitRefs return git references based on filter

services/context/api.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -300,16 +300,16 @@ func RepoRefForAPI(next http.Handler) http.Handler {
300300

301301
if ctx.Repo.GitRepo == nil {
302302
panic("no GitRepo, forgot to call the middleware?") // it is a programming error
303-
return
304303
}
305304

306305
refName, refType, _ := getRefNameLegacy(ctx.Base, ctx.Repo, ctx.PathParam("*"), ctx.FormTrim("ref"))
307306
var err error
308-
if refType == git.RefTypeBranch {
307+
switch {
308+
case refType == git.RefTypeBranch:
309309
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetBranchCommit(refName)
310-
} else if refType == git.RefTypeTag {
310+
case refType == git.RefTypeTag:
311311
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetTagCommit(refName)
312-
} else if refType == git.RefTypeCommit {
312+
case refType == git.RefTypeCommit:
313313
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetCommit(refName)
314314
}
315315
if ctx.Repo.Commit == nil || errors.Is(err, util.ErrNotExist) {

services/repository/files/content.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ func GetContents(ctx context.Context, repo *repo_model.Repository, refCommit *ut
123123
return nil, err
124124
}
125125

126-
refType := refCommit.Ref.RefType()
126+
refType := refCommit.RefName.RefType()
127127
if refType != git.RefTypeBranch && refType != git.RefTypeTag && refType != git.RefTypeCommit {
128-
return nil, fmt.Errorf("no commit found for the ref [ref: %s]", refCommit.Ref)
128+
return nil, fmt.Errorf("no commit found for the ref [ref: %s]", refCommit.RefName)
129129
}
130130

131131
selfURL, err := url.Parse(repo.APIURL() + "/contents/" + util.PathEscapeSegments(treePath) + "?ref=" + url.QueryEscape(refCommit.InputRef))
@@ -200,15 +200,15 @@ func GetContents(ctx context.Context, repo *repo_model.Repository, refCommit *ut
200200
}
201201
// Handle links
202202
if entry.IsRegular() || entry.IsLink() || entry.IsExecutable() {
203-
downloadURL, err := url.Parse(repo.HTMLURL() + "/raw/" + refCommit.Ref.RefWebLinkPath() + "/" + util.PathEscapeSegments(treePath))
203+
downloadURL, err := url.Parse(repo.HTMLURL() + "/raw/" + refCommit.RefName.RefWebLinkPath() + "/" + util.PathEscapeSegments(treePath))
204204
if err != nil {
205205
return nil, err
206206
}
207207
downloadURLString := downloadURL.String()
208208
contentsResponse.DownloadURL = &downloadURLString
209209
}
210210
if !entry.IsSubModule() {
211-
htmlURL, err := url.Parse(repo.HTMLURL() + "/src/" + refCommit.Ref.RefWebLinkPath() + "/" + util.PathEscapeSegments(treePath))
211+
htmlURL, err := url.Parse(repo.HTMLURL() + "/src/" + refCommit.RefName.RefWebLinkPath() + "/" + util.PathEscapeSegments(treePath))
212212
if err != nil {
213213
return nil, err
214214
}

0 commit comments

Comments
 (0)