From 02999c9a44cc0d681a46ef947930fbc0998e440c Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 1 Aug 2019 22:50:06 +0800 Subject: [PATCH] improve branches list performance and fix protected branch icon when no-login (#7695) --- routers/repo/branch.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/routers/repo/branch.go b/routers/repo/branch.go index 3bd4a75bfb3..5d78518491d 100644 --- a/routers/repo/branch.go +++ b/routers/repo/branch.go @@ -162,6 +162,12 @@ func loadBranches(ctx *context.Context) []*Branch { return nil } + protectedBranches, err := ctx.Repo.Repository.GetProtectedBranches() + if err != nil { + ctx.ServerError("GetProtectedBranches", err) + return nil + } + branches := make([]*Branch, len(rawBranches)) for i := range rawBranches { commit, err := rawBranches[i].GetCommit() @@ -170,11 +176,13 @@ func loadBranches(ctx *context.Context) []*Branch { return nil } + var isProtected bool branchName := rawBranches[i].Name - isProtected, err := ctx.Repo.Repository.IsProtectedBranch(branchName, ctx.User) - if err != nil { - ctx.ServerError("IsProtectedBranch", err) - return nil + for _, b := range protectedBranches { + if b.BranchName == branchName { + isProtected = true + break + } } divergence, divergenceError := repofiles.CountDivergingCommits(ctx.Repo.Repository, branchName)