From d624e91c0c7b0997fa4aa497d46650b7ba3cc1d6 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 17 Sep 2020 21:33:48 +0100 Subject: [PATCH] Support slashes in release tags (#12864) (#12882) Backport #12864 Fix #12861 Signed-off-by: Andrew Thornton --- routers/repo/release.go | 2 +- routers/routes/routes.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/routers/repo/release.go b/routers/repo/release.go index 3b8e55f00..bb755dd8e 100644 --- a/routers/repo/release.go +++ b/routers/repo/release.go @@ -132,7 +132,7 @@ func SingleRelease(ctx *context.Context) { writeAccess := ctx.Repo.CanWrite(models.UnitTypeReleases) ctx.Data["CanCreateRelease"] = writeAccess && !ctx.Repo.Repository.IsArchived - release, err := models.GetRelease(ctx.Repo.Repository.ID, ctx.Params("tag")) + release, err := models.GetRelease(ctx.Repo.Repository.ID, ctx.Params("*")) if err != nil { if models.IsErrReleaseNotExist(err) { ctx.NotFound("GetRelease", err) diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 34157ea5b..19352d96a 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -814,9 +814,9 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/:username/:reponame", func() { m.Group("/releases", func() { m.Get("/", repo.Releases) - m.Get("/tag/:tag", repo.SingleRelease) + m.Get("/tag/*", repo.SingleRelease) m.Get("/latest", repo.LatestRelease) - }, repo.MustBeNotEmpty, context.RepoRef()) + }, repo.MustBeNotEmpty, context.RepoRefByType(context.RepoRefTag)) m.Group("/releases", func() { m.Get("/new", repo.NewRelease) m.Post("/new", bindIgnErr(auth.NewReleaseForm{}), repo.NewReleasePost)