From ca0302723dc6d25c475a28a21e11f2dabc4e1b56 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Koga Date: Tue, 14 Feb 2017 12:28:11 +0900 Subject: [PATCH] Delete if parent folder is empty --- .../core/controller/RepositorySettingsController.scala | 7 +++++-- src/main/scala/gitbucket/core/util/FileUtil.scala | 6 ++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala index 0398386f6..53b7da270 100644 --- a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala @@ -129,6 +129,7 @@ trait RepositorySettingsControllerBase extends ControllerBase { defining(getLfsDir(repository.owner, repository.name)){ dir => if(dir.isDirectory()) { FileUtils.moveDirectory(dir, getLfsDir(repository.owner, form.repositoryName)) + FileUtil.deleteDirectoryIfEmpty(dir.getParentFile()) } } } @@ -333,7 +334,7 @@ trait RepositorySettingsControllerBase extends ControllerBase { defining(getLfsDir(repository.owner, repository.name)){ dir => if(dir.isDirectory()) { FileUtils.moveDirectory(dir, getLfsDir(form.newOwner, repository.name)) - + FileUtil.deleteDirectoryIfEmpty(dir.getParentFile()) } } } @@ -351,7 +352,9 @@ trait RepositorySettingsControllerBase extends ControllerBase { FileUtils.deleteDirectory(getRepositoryDir(repository.owner, repository.name)) FileUtils.deleteDirectory(getWikiRepositoryDir(repository.owner, repository.name)) FileUtils.deleteDirectory(getTemporaryDir(repository.owner, repository.name)) - FileUtils.deleteDirectory(getLfsDir(repository.owner, repository.name)) + val lfsDir = getLfsDir(repository.owner, repository.name) + FileUtils.deleteDirectory(lfsDir) + FileUtil.deleteDirectoryIfEmpty(lfsDir.getParentFile()) } redirect(s"/${repository.owner}") }) diff --git a/src/main/scala/gitbucket/core/util/FileUtil.scala b/src/main/scala/gitbucket/core/util/FileUtil.scala index 8ca49e5be..d6947c0b0 100644 --- a/src/main/scala/gitbucket/core/util/FileUtil.scala +++ b/src/main/scala/gitbucket/core/util/FileUtil.scala @@ -67,4 +67,10 @@ object FileUtil { Directory.getLfsDir(owner, repository) + "/" + oid def readableSize(size: Long): String = FileUtils.byteCountToDisplaySize(size) + + def deleteDirectoryIfEmpty(dir: File): Unit = { + if(dir.isDirectory() && dir.list().isEmpty) { + FileUtils.deleteDirectory(dir) + } + } }