forked from p85947160/gitea
Only view branch or tag if it match refType requested. (#8899)
* only view branch or tag if it match refName. * remove pointer in method
This commit is contained in:
parent
273a24f226
commit
8d9e625f83
|
@ -518,6 +518,22 @@ func RepoRef() macaron.Handler {
|
||||||
return RepoRefByType(RepoRefBranch)
|
return RepoRefByType(RepoRefBranch)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RefTypeIncludesBranches returns true if ref type can be a branch
|
||||||
|
func (rt RepoRefType) RefTypeIncludesBranches() bool {
|
||||||
|
if rt == RepoRefLegacy || rt == RepoRefAny || rt == RepoRefBranch {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// RefTypeIncludesTags returns true if ref type can be a tag
|
||||||
|
func (rt RepoRefType) RefTypeIncludesTags() bool {
|
||||||
|
if rt == RepoRefLegacy || rt == RepoRefAny || rt == RepoRefTag {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func getRefNameFromPath(ctx *Context, path string, isExist func(string) bool) string {
|
func getRefNameFromPath(ctx *Context, path string, isExist func(string) bool) string {
|
||||||
refName := ""
|
refName := ""
|
||||||
parts := strings.Split(path, "/")
|
parts := strings.Split(path, "/")
|
||||||
|
@ -623,7 +639,7 @@ func RepoRefByType(refType RepoRefType) macaron.Handler {
|
||||||
} else {
|
} else {
|
||||||
refName = getRefName(ctx, refType)
|
refName = getRefName(ctx, refType)
|
||||||
ctx.Repo.BranchName = refName
|
ctx.Repo.BranchName = refName
|
||||||
if ctx.Repo.GitRepo.IsBranchExist(refName) {
|
if refType.RefTypeIncludesBranches() && ctx.Repo.GitRepo.IsBranchExist(refName) {
|
||||||
ctx.Repo.IsViewBranch = true
|
ctx.Repo.IsViewBranch = true
|
||||||
|
|
||||||
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetBranchCommit(refName)
|
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetBranchCommit(refName)
|
||||||
|
@ -633,7 +649,7 @@ func RepoRefByType(refType RepoRefType) macaron.Handler {
|
||||||
}
|
}
|
||||||
ctx.Repo.CommitID = ctx.Repo.Commit.ID.String()
|
ctx.Repo.CommitID = ctx.Repo.Commit.ID.String()
|
||||||
|
|
||||||
} else if ctx.Repo.GitRepo.IsTagExist(refName) {
|
} else if refType.RefTypeIncludesTags() && ctx.Repo.GitRepo.IsTagExist(refName) {
|
||||||
ctx.Repo.IsViewTag = true
|
ctx.Repo.IsViewTag = true
|
||||||
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetTagCommit(refName)
|
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetTagCommit(refName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue