diff options
author | Mario Lubenka <mario.lubenka@googlemail.com> | 2019-05-05 18:25:25 +0200 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2019-05-05 19:25:25 +0300 |
commit | 55a8e12d85bd59314416bb026e84d258004a5071 (patch) | |
tree | 8735a97000a66f013b5da8407501995e63ec16f8 /routers | |
parent | c1da790cee96f1e2d15dded7748da5bc81022042 (diff) | |
download | gitea-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')
-rw-r--r-- | routers/repo/branch.go | 20 |
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, } } |