diff --git a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala index 0398386..53b7da2 100644 --- a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala @@ -129,6 +129,7 @@ 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 @@ 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 @@ 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 8ca49e5..d6947c0 100644 --- a/src/main/scala/gitbucket/core/util/FileUtil.scala +++ b/src/main/scala/gitbucket/core/util/FileUtil.scala @@ -67,4 +67,10 @@ 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) + } + } }