mirror of
https://github.com/gitbucket/gitbucket.git
synced 2026-01-04 22:59:58 +01:00
Solve repository deletion error on Windows (#2711)
- Added function to delete given folder recursively. - Used the function for deleting the folder, while deleting repository. fixes #2628
This commit is contained in:
committed by
GitHub
parent
142be65893
commit
f538950d64
@@ -237,10 +237,11 @@ trait RepositoryService {
|
||||
LockUtil.lock(s"${repository.userName}/${repository.repositoryName}") {
|
||||
deleteRepositoryOnModel(repository.userName, repository.repositoryName)
|
||||
|
||||
FileUtils.deleteDirectory(getRepositoryDir(repository.userName, repository.repositoryName))
|
||||
FileUtils.deleteDirectory(getWikiRepositoryDir(repository.userName, repository.repositoryName))
|
||||
FileUtils.deleteDirectory(getTemporaryDir(repository.userName, repository.repositoryName))
|
||||
FileUtils.deleteDirectory(getRepositoryFilesDir(repository.userName, repository.repositoryName))
|
||||
FileUtil.deleteRecursively(getRepositoryDir(repository.userName, repository.repositoryName))
|
||||
|
||||
FileUtil.deleteRecursively(getWikiRepositoryDir(repository.userName, repository.repositoryName))
|
||||
FileUtil.deleteRecursively(getTemporaryDir(repository.userName, repository.repositoryName))
|
||||
FileUtil.deleteRecursively(getRepositoryFilesDir(repository.userName, repository.repositoryName))
|
||||
|
||||
// Call hooks
|
||||
PluginRegistry().getRepositoryHooks.foreach(_.deleted(repository.userName, repository.repositoryName))
|
||||
|
||||
@@ -92,4 +92,14 @@ object FileUtil {
|
||||
name
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete given folder recursively.
|
||||
*/
|
||||
def deleteRecursively(f: File): Boolean = {
|
||||
if (f.isDirectory) f.listFiles match {
|
||||
case files: Array[File] => files.foreach(deleteRecursively)
|
||||
case null =>
|
||||
}
|
||||
f.delete()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user