diff --git a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala index 3828fbb..85e799b 100644 --- a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala @@ -334,6 +334,18 @@ }) /** + * Run GC + */ + post("/:owner/:repository/settings/gc")(ownerOnly { repository => + LockUtil.lock(s"${repository.owner}/${repository.name}") { + using(Git.open(getRepositoryDir(repository.owner, repository.name))) { git => + git.gc(); + } + } + redirect(s"/${repository.owner}/${repository.name}/danger") + }) + + /** * Provides duplication check for web hook url. */ private def webHook(needExists: Boolean): Constraint = new Constraint(){ diff --git a/src/main/twirl/gitbucket/core/settings/danger.scala.html b/src/main/twirl/gitbucket/core/settings/danger.scala.html index c7b3c93..c5941a1 100644 --- a/src/main/twirl/gitbucket/core/settings/danger.scala.html +++ b/src/main/twirl/gitbucket/core/settings/danger.scala.html @@ -4,7 +4,7 @@ @html.main("Danger Zone", Some(repository)){ @html.menu("settings", repository){ @menu("danger", repository){ -
+
Danger Zone
@@ -31,6 +31,15 @@
+
+
+ +
+ Run garbage collection for this git repository immediately. + +
+
+
} diff --git a/src/main/twirl/gitbucket/core/settings/hooks.scala.html b/src/main/twirl/gitbucket/core/settings/hooks.scala.html index a82f2d6..0ca0c0d 100644 --- a/src/main/twirl/gitbucket/core/settings/hooks.scala.html +++ b/src/main/twirl/gitbucket/core/settings/hooks.scala.html @@ -7,7 +7,7 @@ @html.menu("settings", repository){ @menu("hooks", repository){ @helper.html.information(info) -
+
Webhooks
diff --git a/src/main/twirl/gitbucket/core/settings/options.scala.html b/src/main/twirl/gitbucket/core/settings/options.scala.html index d7cb3fc..1f6acbe 100644 --- a/src/main/twirl/gitbucket/core/settings/options.scala.html +++ b/src/main/twirl/gitbucket/core/settings/options.scala.html @@ -6,7 +6,7 @@ @menu("options", repository){ @helper.html.information(info)
-
+
Settings