From 5853691844d3788825ee3b415e22d6ae2fd6bed7 Mon Sep 17 00:00:00 2001 From: KOUNOIKE Yuusuke Date: Sat, 22 Apr 2017 10:49:28 +0900 Subject: [PATCH] care db entry for delete/rename/transfer repo and delete dir when delete repo. --- .../core/controller/RepositorySettingsController.scala | 1 + .../scala/gitbucket/core/service/RepositoryService.scala | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala index eb35623c6..981ed955e 100644 --- a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala @@ -385,6 +385,7 @@ 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(getReleaseFilesDir(repository.owner, repository.name)) val lfsDir = getLfsDir(repository.owner, repository.name) FileUtils.deleteDirectory(lfsDir) FileUtil.deleteDirectoryIfEmpty(lfsDir.getParentFile()) diff --git a/src/main/scala/gitbucket/core/service/RepositoryService.scala b/src/main/scala/gitbucket/core/service/RepositoryService.scala index cc3159d53..4fceaccf8 100644 --- a/src/main/scala/gitbucket/core/service/RepositoryService.scala +++ b/src/main/scala/gitbucket/core/service/RepositoryService.scala @@ -74,6 +74,8 @@ trait RepositoryService { self: AccountService => val protectedBranches = ProtectedBranches .filter(_.byRepository(oldUserName, oldRepositoryName)).list val protectedBranchContexts = ProtectedBranchContexts.filter(_.byRepository(oldUserName, oldRepositoryName)).list val deployKeys = DeployKeys .filter(_.byRepository(oldUserName, oldRepositoryName)).list + val releases = Releases .filter(_.byRepository(oldUserName, oldRepositoryName)).list + val releaseAssets = ReleaseAssets .filter(_.byRepository(oldUserName, oldRepositoryName)).list Repositories.filter { t => (t.originUserName === oldUserName.bind) && (t.originRepositoryName === oldRepositoryName.bind) @@ -114,6 +116,8 @@ trait RepositoryService { self: AccountService => ProtectedBranches .insertAll(protectedBranches.map(_.copy(userName = newUserName, repositoryName = newRepositoryName)) :_*) ProtectedBranchContexts.insertAll(protectedBranchContexts.map(_.copy(userName = newUserName, repositoryName = newRepositoryName)) :_*) DeployKeys .insertAll(deployKeys .map(_.copy(userName = newUserName, repositoryName = newRepositoryName)) :_*) + Releases .insertAll(releases .map(_.copy(userName = newUserName, repositoryName = newRepositoryName)) :_*) + ReleaseAssets .insertAll(releaseAssets .map(_.copy(userName = newUserName, repositoryName = newRepositoryName)) :_*) // Update source repository of pull requests PullRequests.filter { t => @@ -166,6 +170,8 @@ trait RepositoryService { self: AccountService => WebHooks .filter(_.byRepository(userName, repositoryName)).delete WebHookEvents .filter(_.byRepository(userName, repositoryName)).delete DeployKeys .filter(_.byRepository(userName, repositoryName)).delete + ReleaseAssets .filter(_.byRepository(userName, repositoryName)).delete + Releases .filter(_.byRepository(userName, repositoryName)).delete Repositories .filter(_.byRepository(userName, repositoryName)).delete // Update ORIGIN_USER_NAME and ORIGIN_REPOSITORY_NAME