From cfc6e21f0680804747b4dee8af50bb12703a223d Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 16 Jan 2025 21:52:21 +0800 Subject: [PATCH] Fix incorrect ref usages (#33301) Fix #33297 By the way, improve some locales --- options/locale/locale_en-US.ini | 6 +++--- routers/web/repo/branch.go | 1 - routers/web/repo/commit.go | 13 +------------ routers/web/web.go | 12 +++++++----- services/context/repo.go | 12 ++++++++++++ templates/repo/sub_menu.tmpl | 2 +- 6 files changed, 24 insertions(+), 22 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 8d9dd69b3d..3252c65bf5 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1685,16 +1685,16 @@ issues.timetracker_timer_manually_add = Add Time issues.time_estimate_set = Set estimated time issues.time_estimate_display = Estimate: %s -issues.change_time_estimate_at = changed time estimate to %s %s +issues.change_time_estimate_at = changed time estimate to %[1]s %[2]s issues.remove_time_estimate_at = removed time estimate %s issues.time_estimate_invalid = Time estimate format is invalid issues.start_tracking_history = started working %s issues.tracker_auto_close = Timer will be stopped automatically when this issue gets closed issues.tracking_already_started = `You have already started time tracking on another issue!` -issues.stop_tracking_history = worked for %s %s +issues.stop_tracking_history = worked for %[1]s %[2]s issues.cancel_tracking_history = `canceled time tracking %s` issues.del_time = Delete this time log -issues.add_time_history = added spent time %s %s +issues.add_time_history = added spent time %[1]s %[2]s issues.del_time_history= `deleted spent time %s` issues.add_time_manually = Manually Add Time issues.add_time_hours = Hours diff --git a/routers/web/repo/branch.go b/routers/web/repo/branch.go index 5011cbfc77..8747526f72 100644 --- a/routers/web/repo/branch.go +++ b/routers/web/repo/branch.go @@ -37,7 +37,6 @@ const ( // Branches render repository branch page func Branches(ctx *context.Context) { ctx.Data["Title"] = "Branches" - ctx.Data["IsRepoToolbarBranches"] = true ctx.Data["AllowsPulls"] = ctx.Repo.Repository.AllowsPulls(ctx) ctx.Data["IsWriter"] = ctx.Repo.CanWrite(unit.TypeCode) ctx.Data["IsMirror"] = ctx.Repo.Repository.IsMirror diff --git a/routers/web/repo/commit.go b/routers/web/repo/commit.go index bad8ca56d1..8ffda8ae0a 100644 --- a/routers/web/repo/commit.go +++ b/routers/web/repo/commit.go @@ -62,11 +62,7 @@ func Commits(ctx *context.Context) { } ctx.Data["PageIsViewCode"] = true - commitsCount, err := ctx.Repo.GetCommitsCount() - if err != nil { - ctx.ServerError("GetCommitsCount", err) - return - } + commitsCount := ctx.Repo.CommitsCount page := ctx.FormInt("page") if page <= 1 { @@ -129,12 +125,6 @@ func Graph(ctx *context.Context) { ctx.Data["SelectedBranches"] = realBranches files := ctx.FormStrings("file") - commitsCount, err := ctx.Repo.GetCommitsCount() - if err != nil { - ctx.ServerError("GetCommitsCount", err) - return - } - graphCommitsCount, err := ctx.Repo.GetCommitGraphsCount(ctx, hidePRRefs, realBranches, files) if err != nil { log.Warn("GetCommitGraphsCount error for generate graph exclude prs: %t branches: %s in %-v, Will Ignore branches and try again. Underlying Error: %v", hidePRRefs, branches, ctx.Repo.Repository, err) @@ -171,7 +161,6 @@ func Graph(ctx *context.Context) { ctx.Data["Username"] = ctx.Repo.Owner.Name ctx.Data["Reponame"] = ctx.Repo.Repository.Name - ctx.Data["CommitCount"] = commitsCount paginator := context.NewPagination(int(graphCommitsCount), setting.UI.GraphMaxCommitNum, page, 5) paginator.AddParamFromRequest(ctx.Req) diff --git a/routers/web/web.go b/routers/web/web.go index 7343fbd008..609a7d77ac 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -1332,7 +1332,7 @@ func registerRoutes(m *web.Router) { m.Group("/{username}/{reponame}", func() { // repo tags m.Group("/tags", func() { - m.Get("", repo.TagsList) + m.Get("", context.RepoRefByDefaultBranch() /* for the "commits" tab */, repo.TagsList) m.Get(".rss", feedEnabled, repo.TagsListFeedRSS) m.Get(".atom", feedEnabled, repo.TagsListFeedAtom) m.Get("/list", repo.GetTagList) @@ -1522,8 +1522,8 @@ func registerRoutes(m *web.Router) { m.Group("/branches", func() { m.Get("/list", repo.GetBranchesList) - m.Get("", repo.Branches) - }, repo.MustBeNotEmpty, context.RepoRef()) + m.Get("", context.RepoRefByDefaultBranch() /* for the "commits" tab */, repo.Branches) + }, repo.MustBeNotEmpty) m.Group("/media", func() { m.Get("/blob/{sha}", repo.DownloadByIDOrLFS) @@ -1567,8 +1567,10 @@ func registerRoutes(m *web.Router) { m.Get("/graph", repo.Graph) m.Get("/commit/{sha:([a-f0-9]{7,64})$}", repo.SetEditorconfigIfExists, repo.SetDiffViewStyle, repo.SetWhitespaceBehavior, repo.Diff) m.Get("/commit/{sha:([a-f0-9]{7,64})$}/load-branches-and-tags", repo.LoadBranchesAndTags) - m.Get("/cherry-pick/{sha:([a-f0-9]{7,64})$}", repo.SetEditorconfigIfExists, repo.CherryPick) - }, repo.MustBeNotEmpty, context.RepoRef()) + + // FIXME: this route `/cherry-pick/{sha}` doesn't seem useful or right, the new code always uses `/_cherrypick/` which could handle branch name correctly + m.Get("/cherry-pick/{sha:([a-f0-9]{7,64})$}", repo.SetEditorconfigIfExists, context.RepoRefByDefaultBranch(), repo.CherryPick) + }, repo.MustBeNotEmpty) m.Get("/rss/branch/*", context.RepoRefByType(git.RefTypeBranch), feedEnabled, feed.RenderBranchFeed) m.Get("/atom/branch/*", context.RepoRefByType(git.RefTypeBranch), feedEnabled, feed.RenderBranchFeed) diff --git a/services/context/repo.go b/services/context/repo.go index ef54b9cee8..6cd70d139b 100644 --- a/services/context/repo.go +++ b/services/context/repo.go @@ -777,6 +777,18 @@ func repoRefFullName(typ git.RefType, shortName string) git.RefName { } } +func RepoRefByDefaultBranch() func(*Context) { + return func(ctx *Context) { + ctx.Repo.RefFullName = git.RefNameFromBranch(ctx.Repo.Repository.DefaultBranch) + ctx.Repo.BranchName = ctx.Repo.Repository.DefaultBranch + ctx.Repo.Commit, _ = ctx.Repo.GitRepo.GetBranchCommit(ctx.Repo.BranchName) + ctx.Repo.CommitsCount, _ = ctx.Repo.GetCommitsCount() + ctx.Data["RefFullName"] = ctx.Repo.RefFullName + ctx.Data["BranchName"] = ctx.Repo.BranchName + ctx.Data["CommitsCount"] = ctx.Repo.CommitsCount + } +} + // RepoRefByType handles repository reference name for a specific type // of repository reference func RepoRefByType(detectRefType git.RefType) func(*Context) { diff --git a/templates/repo/sub_menu.tmpl b/templates/repo/sub_menu.tmpl index 30244a8861..3533bfed0b 100644 --- a/templates/repo/sub_menu.tmpl +++ b/templates/repo/sub_menu.tmpl @@ -2,7 +2,7 @@