(refs #1212) Add GC button to the danger zone

This commit is contained in:
Naoki Takezoe
2016-06-08 20:32:38 +09:00
parent 88f56126a6
commit dc98079b55
4 changed files with 24 additions and 3 deletions

View File

@@ -333,6 +333,18 @@ trait RepositorySettingsControllerBase extends ControllerBase {
redirect(s"/${repository.owner}")
})
/**
* 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.
*/

View File

@@ -4,7 +4,7 @@
@html.main("Danger Zone", Some(repository)){
@html.menu("settings", repository){
@menu("danger", repository){
<div class="panel panel-default">
<div class="panel panel-default" style="overflow: hidden;">
<div class="panel-heading strong">Danger Zone</div>
<div class="panel-body">
<form id="transfer-form" method="post" action="@url(repository)/settings/transfer" validate="true" autocomplete="off">
@@ -31,6 +31,15 @@
</div>
</fieldset>
</form>
<form id="gc-form" method="post" action="@url(repository)/settings/gc">
<fieldset class="margin form-group">
<label class="strong">Garbage collection</label>
<div>
Run garbage collection for this git repository immediately.
<input type="submit" class="btn btn-danger pull-right" value="Garbage collection"/>
</div>
</fieldset>
</form>
</div>
</div>
}

View File

@@ -7,7 +7,7 @@
@html.menu("settings", repository){
@menu("hooks", repository){
@helper.html.information(info)
<div class="panel panel-default">
<div class="panel panel-default" style="overflow: hidden;">
<div class="panel-heading strong">
Webhooks
</div>

View File

@@ -6,7 +6,7 @@
@menu("options", repository){
@helper.html.information(info)
<form id="form" method="post" action="@url(repository)/settings/options" validate="true">
<div class="panel panel-default">
<div class="panel panel-default" style="overflow: hidden;">
<div class="panel-heading strong">Settings</div>
<div class="panel-body">
<fieldset class="form-group">