From 3a222ee416d448c6eedf9b2ed7e3ac2d25e0189f Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Fri, 26 Nov 2021 00:21:56 +0100 Subject: [PATCH] Fixed commit count (#17698) (#17790) * Fixed commit count (#17698) Added "Tag" label. Unified branch, tag and commit name. * Keep 1.15 behaviour. * Removed locale change. --- modules/context/repo.go | 18 +++++++++++------- routers/web/repo/branch.go | 12 +++++------- routers/web/repo/commit.go | 13 ++++++------- routers/web/repo/view.go | 2 +- templates/repo/branch_dropdown.tmpl | 10 ++++++---- templates/repo/commits_table.tmpl | 4 ++-- templates/repo/sub_menu.tmpl | 2 +- 7 files changed, 32 insertions(+), 29 deletions(-) diff --git a/modules/context/repo.go b/modules/context/repo.go index d18a7bc47..12943ae37 100644 --- a/modules/context/repo.go +++ b/modules/context/repo.go @@ -58,6 +58,7 @@ type Repository struct { Commit *git.Commit Tag *git.Tag GitRepo *git.Repository + RefName string BranchName string TagName string TreePath string @@ -190,9 +191,9 @@ func (r *Repository) BranchNameSubURL() string { case r.IsViewBranch: return "branch/" + r.BranchName case r.IsViewTag: - return "tag/" + r.BranchName + return "tag/" + r.TagName case r.IsViewCommit: - return "commit/" + r.BranchName + return "commit/" + r.CommitID } log.Error("Unknown view type for repo: %v", r) return "" @@ -562,8 +563,6 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { ctx.Data["Branches"] = brs ctx.Data["BranchesCount"] = len(brs) - ctx.Data["TagName"] = ctx.Repo.TagName - // If not branch selected, try default one. // If default branch doesn't exists, fall back to some other branch. if len(ctx.Repo.BranchName) == 0 { @@ -572,9 +571,9 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { } else if len(brs) > 0 { ctx.Repo.BranchName = brs[0] } + ctx.Repo.RefName = ctx.Repo.BranchName } ctx.Data["BranchName"] = ctx.Repo.BranchName - ctx.Data["CommitID"] = ctx.Repo.CommitID // People who have push access or have forked repository can propose a new pull request. canPush := ctx.Repo.CanWrite(models.UnitTypeCode) || (ctx.IsSigned && ctx.User.HasForkedRepo(ctx.Repo.Repository.ID)) @@ -759,7 +758,6 @@ func RepoRefByType(refType RepoRefType, ignoreNotExistErr ...bool) func(*Context // Get default branch. if len(ctx.Params("*")) == 0 { refName = ctx.Repo.Repository.DefaultBranch - ctx.Repo.BranchName = refName if !ctx.Repo.GitRepo.IsBranchExist(refName) { brs, _, err := ctx.Repo.GitRepo.GetBranches(0, 0) if err != nil { @@ -773,6 +771,8 @@ func RepoRefByType(refType RepoRefType, ignoreNotExistErr ...bool) func(*Context } refName = brs[0] } + ctx.Repo.RefName = refName + ctx.Repo.BranchName = refName ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetBranchCommit(refName) if err != nil { ctx.ServerError("GetBranchCommit", err) @@ -783,9 +783,10 @@ func RepoRefByType(refType RepoRefType, ignoreNotExistErr ...bool) func(*Context } else { refName = getRefName(ctx, refType) - ctx.Repo.BranchName = refName + ctx.Repo.RefName = refName if refType.RefTypeIncludesBranches() && ctx.Repo.GitRepo.IsBranchExist(refName) { ctx.Repo.IsViewBranch = true + ctx.Repo.BranchName = refName ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetBranchCommit(refName) if err != nil { @@ -796,6 +797,8 @@ func RepoRefByType(refType RepoRefType, ignoreNotExistErr ...bool) func(*Context } else if refType.RefTypeIncludesTags() && ctx.Repo.GitRepo.IsTagExist(refName) { ctx.Repo.IsViewTag = true + ctx.Repo.TagName = refName + ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetTagCommit(refName) if err != nil { ctx.ServerError("GetTagCommit", err) @@ -837,6 +840,7 @@ func RepoRefByType(refType RepoRefType, ignoreNotExistErr ...bool) func(*Context ctx.Data["BranchName"] = ctx.Repo.BranchName ctx.Data["BranchNameSubURL"] = ctx.Repo.BranchNameSubURL() + ctx.Data["TagName"] = ctx.Repo.TagName ctx.Data["CommitID"] = ctx.Repo.CommitID ctx.Data["TreePath"] = ctx.Repo.TreePath ctx.Data["IsViewBranch"] = ctx.Repo.IsViewBranch diff --git a/routers/web/repo/branch.go b/routers/web/repo/branch.go index dd099d478..d91a73d57 100644 --- a/routers/web/repo/branch.go +++ b/routers/web/repo/branch.go @@ -343,17 +343,15 @@ func CreateBranch(ctx *context.Context) { var err error if form.CreateTag { - if ctx.Repo.IsViewTag { - err = release_service.CreateNewTag(ctx.User, ctx.Repo.Repository, ctx.Repo.CommitID, form.NewBranchName, "") - } else { - err = release_service.CreateNewTag(ctx.User, ctx.Repo.Repository, ctx.Repo.BranchName, form.NewBranchName, "") + target := ctx.Repo.CommitID + if ctx.Repo.IsViewBranch { + target = ctx.Repo.BranchName } + err = release_service.CreateNewTag(ctx.User, ctx.Repo.Repository, target, form.NewBranchName, "") } else if ctx.Repo.IsViewBranch { err = repo_module.CreateNewBranch(ctx.User, ctx.Repo.Repository, ctx.Repo.BranchName, form.NewBranchName) - } else if ctx.Repo.IsViewTag { - err = repo_module.CreateNewBranchFromCommit(ctx.User, ctx.Repo.Repository, ctx.Repo.CommitID, form.NewBranchName) } else { - err = repo_module.CreateNewBranchFromCommit(ctx.User, ctx.Repo.Repository, ctx.Repo.BranchName, form.NewBranchName) + err = repo_module.CreateNewBranchFromCommit(ctx.User, ctx.Repo.Repository, ctx.Repo.CommitID, form.NewBranchName) } if err != nil { if models.IsErrTagAlreadyExists(err) { diff --git a/routers/web/repo/commit.go b/routers/web/repo/commit.go index 98f533686..f555ecf3b 100644 --- a/routers/web/repo/commit.go +++ b/routers/web/repo/commit.go @@ -80,7 +80,7 @@ func Commits(ctx *context.Context) { ctx.Data["Username"] = ctx.Repo.Owner.Name ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["CommitCount"] = commitsCount - ctx.Data["Branch"] = ctx.Repo.BranchName + ctx.Data["RefName"] = ctx.Repo.RefName pager := context.NewPagination(int(commitsCount), setting.Git.CommitsRangeSize, page, 5) pager.SetDefaultParams(ctx) @@ -156,7 +156,7 @@ func Graph(ctx *context.Context) { ctx.Data["Username"] = ctx.Repo.Owner.Name ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["CommitCount"] = commitsCount - ctx.Data["Branch"] = ctx.Repo.BranchName + ctx.Data["RefName"] = ctx.Repo.RefName paginator := context.NewPagination(int(graphCommitsCount), setting.UI.GraphMaxCommitNum, page, 5) paginator.AddParam(ctx, "mode", "Mode") paginator.AddParam(ctx, "hide-pr-refs", "HidePRRefs") @@ -205,7 +205,7 @@ func SearchCommits(ctx *context.Context) { ctx.Data["Username"] = ctx.Repo.Owner.Name ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["CommitCount"] = commits.Len() - ctx.Data["Branch"] = ctx.Repo.BranchName + ctx.Data["RefName"] = ctx.Repo.RefName ctx.HTML(http.StatusOK, tplCommits) } @@ -219,8 +219,7 @@ func FileHistory(ctx *context.Context) { return } - branchName := ctx.Repo.BranchName - commitsCount, err := ctx.Repo.GitRepo.FileCommitsCount(branchName, fileName) + commitsCount, err := ctx.Repo.GitRepo.FileCommitsCount(ctx.Repo.RefName, fileName) if err != nil { ctx.ServerError("FileCommitsCount", err) return @@ -234,7 +233,7 @@ func FileHistory(ctx *context.Context) { page = 1 } - commits, err := ctx.Repo.GitRepo.CommitsByFileAndRange(branchName, fileName, page) + commits, err := ctx.Repo.GitRepo.CommitsByFileAndRange(ctx.Repo.RefName, fileName, page) if err != nil { ctx.ServerError("CommitsByFileAndRange", err) return @@ -248,7 +247,7 @@ func FileHistory(ctx *context.Context) { ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["FileName"] = fileName ctx.Data["CommitCount"] = commitsCount - ctx.Data["Branch"] = branchName + ctx.Data["RefName"] = ctx.Repo.RefName pager := context.NewPagination(int(commitsCount), setting.Git.CommitsRangeSize, page, 5) pager.SetDefaultParams(ctx) diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go index 64b97a91a..120d82b79 100644 --- a/routers/web/repo/view.go +++ b/routers/web/repo/view.go @@ -406,7 +406,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st } defer dataRc.Close() - ctx.Data["Title"] = ctx.Data["Title"].(string) + " - " + ctx.Repo.TreePath + " at " + ctx.Repo.BranchName + ctx.Data["Title"] = ctx.Data["Title"].(string) + " - " + ctx.Repo.TreePath + " at " + ctx.Repo.RefName fileSize := blob.Size() ctx.Data["FileIsSymlink"] = entry.IsLink() diff --git a/templates/repo/branch_dropdown.tmpl b/templates/repo/branch_dropdown.tmpl index 1605fa91a..c8829e955 100644 --- a/templates/repo/branch_dropdown.tmpl +++ b/templates/repo/branch_dropdown.tmpl @@ -7,9 +7,9 @@ {{if $release}} {{.root.i18n.Tr "repo.release.compare"}} {{else}} - {{svg "octicon-git-branch"}} - {{if .root.IsViewBranch}}{{.root.i18n.Tr "repo.branch"}}{{else}}{{.root.i18n.Tr "repo.tree"}}{{end}}: - {{if .root.IsViewBranch}}{{.root.BranchName}}{{else}}{{ShortSha .root.BranchName}}{{end}} + {{if .root.IsViewTag}}{{svg "octicon-tag"}}{{else}}{{svg "octicon-git-branch"}}{{end}} + {{if .root.IsViewBranch}}{{.root.i18n.Tr "repo.branch"}}{{else if .root.IsViewTag}}{{.root.i18n.Tr "repo.tag"}}{{else}}{{.root.i18n.Tr "repo.tree"}}{{end}}: + {{if .root.IsViewBranch}}{{.root.BranchName}}{{else if .root.IsViewTag}}{{.root.TagName}}{{else}}{{ShortSha .root.CommitID}}{{end}} {{end}} {{svg "octicon-triangle-down" 14 "dropdown icon"}} @@ -66,8 +66,10 @@
{{if or .root.IsViewBranch $release}} {{.root.i18n.Tr "repo.branch.create_from" .root.BranchName}} + {{else if .root.IsViewTag}} + {{.root.i18n.Tr "repo.branch.create_from" .root.TagName}} {{else}} - {{.root.i18n.Tr "repo.branch.create_from" (ShortSha .root.BranchName)}} + {{.root.i18n.Tr "repo.branch.create_from" (ShortSha .root.CommitID)}} {{end}}
diff --git a/templates/repo/commits_table.tmpl b/templates/repo/commits_table.tmpl index 3ef233984..7b287c1f1 100644 --- a/templates/repo/commits_table.tmpl +++ b/templates/repo/commits_table.tmpl @@ -1,9 +1,9 @@

{{if or .PageIsCommits (gt .CommitCount 0)}} - {{.CommitCount}} {{.i18n.Tr "repo.commits.commits"}} {{if .Branch}}({{.Branch}}){{end}} + {{.CommitCount}} {{.i18n.Tr "repo.commits.commits"}} {{if .RefName}}({{.RefName}}){{end}} {{else}} - {{.i18n.Tr "repo.commits.no_commits" $.BaseBranch $.HeadBranch }} {{if .Branch}}({{.Branch}}){{end}} + {{.i18n.Tr "repo.commits.no_commits" $.BaseBranch $.HeadBranch}} {{if .RefName}}({{.RefName}}){{end}} {{end}}
diff --git a/templates/repo/sub_menu.tmpl b/templates/repo/sub_menu.tmpl index f00237047..1fec6dcec 100644 --- a/templates/repo/sub_menu.tmpl +++ b/templates/repo/sub_menu.tmpl @@ -3,7 +3,7 @@