From e672d41e7776f61ed33dd98099927e582ee4e04d Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Sat, 23 Aug 2025 16:49:18 +0900 Subject: [PATCH] Fix downloading branch that contains slash (#3825) --- .../core/controller/RepositoryViewerController.scala | 11 +++-------- src/main/twirl/gitbucket/core/repo/files.scala.html | 2 +- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index d7977761a..42d23d032 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -1076,14 +1076,9 @@ trait RepositoryViewerControllerBase extends ControllerBase { redirect(s"${repository.owner}/${repository.name}/releases") }) - get("/:owner/:repository/archive/:name")(referrersOnly { repository => - val name = params("name") - archiveRepository(name, repository, "") - }) - - get("/:owner/:repository/archive/*/:name")(referrersOnly { repository => - val name = params("name") - val path = multiParams("splat").head + get("/:owner/:repository/archive/*")(referrersOnly { repository => + val name = multiParams("splat").mkString("/") + val path = params.get("path").getOrElse("") archiveRepository(name, repository, path) }) diff --git a/src/main/twirl/gitbucket/core/repo/files.scala.html b/src/main/twirl/gitbucket/core/repo/files.scala.html index 6e3b12895..b0fbae93c 100644 --- a/src/main/twirl/gitbucket/core/repo/files.scala.html +++ b/src/main/twirl/gitbucket/core/repo/files.scala.html @@ -34,7 +34,7 @@