aboutsummaryrefslogtreecommitdiffstats
path: root/routers/repo
diff options
context:
space:
mode:
authorMario Lubenka <mario.lubenka@googlemail.com>2019-05-05 18:25:25 +0200
committerLauris BH <lauris@nix.lv>2019-05-05 19:25:25 +0300
commit55a8e12d85bd59314416bb026e84d258004a5071 (patch)
tree8735a97000a66f013b5da8407501995e63ec16f8 /routers/repo
parentc1da790cee96f1e2d15dded7748da5bc81022042 (diff)
downloadgitea-55a8e12d85bd59314416bb026e84d258004a5071.tar.gz
gitea-55a8e12d85bd59314416bb026e84d258004a5071.zip
Number of commits ahead/behind in branch overview (#6695)
* Call Git API to determine divergence of a branch and its base branch Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Show commit divergance in branch list Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adds missing comment Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adds test for diverging commits Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Try comparing commits instead of branches Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes test as CI can't run it Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adjusts signature of percentage function to allow providing multiple integers as numerator Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Moves CountDivergingCommits function into repofiles module Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com>
Diffstat (limited to 'routers/repo')
-rw-r--r--routers/repo/branch.go20
1 files changed, 16 insertions, 4 deletions
diff --git a/routers/repo/branch.go b/routers/repo/branch.go
index 4d5b3996c9..8b987f0a60 100644
--- a/routers/repo/branch.go
+++ b/routers/repo/branch.go
@@ -14,6 +14,7 @@ import (
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/repofiles"
"code.gitea.io/gitea/modules/util"
)
@@ -28,6 +29,8 @@ type Branch struct {
IsProtected bool
IsDeleted bool
DeletedBranch *models.DeletedBranch
+ CommitsAhead int
+ CommitsBehind int
}
// Branches render repository branch page
@@ -168,16 +171,25 @@ func loadBranches(ctx *context.Context) []*Branch {
return nil
}
- isProtected, err := ctx.Repo.Repository.IsProtectedBranch(rawBranches[i].Name, ctx.User)
+ branchName := rawBranches[i].Name
+ isProtected, err := ctx.Repo.Repository.IsProtectedBranch(branchName, ctx.User)
if err != nil {
ctx.ServerError("IsProtectedBranch", err)
return nil
}
+ divergence, divergenceError := repofiles.CountDivergingCommits(ctx.Repo.Repository, branchName)
+ if divergenceError != nil {
+ ctx.ServerError("CountDivergingCommits", divergenceError)
+ return nil
+ }
+
branches[i] = &Branch{
- Name: rawBranches[i].Name,
- Commit: commit,
- IsProtected: isProtected,
+ Name: branchName,
+ Commit: commit,
+ IsProtected: isProtected,
+ CommitsAhead: divergence.Ahead,
+ CommitsBehind: divergence.Behind,
}
}