Tweak directory processing

This commit is contained in:
Naoki Takezoe
2017-02-14 16:57:51 +09:00
parent da64cf8800
commit ee65ae3e49
2 changed files with 29 additions and 11 deletions

View File

@@ -119,19 +119,24 @@ trait RepositorySettingsControllerBase extends ControllerBase {
renameRepository(repository.owner, repository.name, repository.owner, form.repositoryName)
// Move git repository
defining(getRepositoryDir(repository.owner, repository.name)){ dir =>
FileUtils.moveDirectory(dir, getRepositoryDir(repository.owner, form.repositoryName))
if(dir.isDirectory){
FileUtils.moveDirectory(dir, getRepositoryDir(repository.owner, form.repositoryName))
}
}
// Move wiki repository
defining(getWikiRepositoryDir(repository.owner, repository.name)){ dir =>
FileUtils.moveDirectory(dir, getWikiRepositoryDir(repository.owner, form.repositoryName))
if(dir.isDirectory) {
FileUtils.moveDirectory(dir, getWikiRepositoryDir(repository.owner, form.repositoryName))
}
}
// Move lfs directory
defining(getLfsDir(repository.owner, repository.name)){ dir =>
if(dir.isDirectory()) {
if(dir.isDirectory) {
FileUtils.moveDirectory(dir, getLfsDir(repository.owner, form.repositoryName))
FileUtil.deleteDirectoryIfEmpty(dir.getParentFile())
}
}
// Delete parent directory
FileUtil.deleteDirectoryIfEmpty(getRepositoryFilesDir(repository.owner, repository.name))
}
flash += "info" -> "Repository settings has been updated."
redirect(s"/${repository.owner}/${form.repositoryName}/settings/options")
@@ -324,19 +329,24 @@ trait RepositorySettingsControllerBase extends ControllerBase {
renameRepository(repository.owner, repository.name, form.newOwner, repository.name)
// Move git repository
defining(getRepositoryDir(repository.owner, repository.name)){ dir =>
FileUtils.moveDirectory(dir, getRepositoryDir(form.newOwner, repository.name))
if(dir.isDirectory){
FileUtils.moveDirectory(dir, getRepositoryDir(form.newOwner, repository.name))
}
}
// Move wiki repository
defining(getWikiRepositoryDir(repository.owner, repository.name)){ dir =>
FileUtils.moveDirectory(dir, getWikiRepositoryDir(form.newOwner, repository.name))
if(dir.isDirectory) {
FileUtils.moveDirectory(dir, getWikiRepositoryDir(form.newOwner, repository.name))
}
}
// Move lfs directory
defining(getLfsDir(repository.owner, repository.name)){ dir =>
if(dir.isDirectory()) {
FileUtils.moveDirectory(dir, getLfsDir(form.newOwner, repository.name))
FileUtil.deleteDirectoryIfEmpty(dir.getParentFile())
}
}
// Delere parent directory
FileUtil.deleteDirectoryIfEmpty(getRepositoryFilesDir(repository.owner, repository.name))
}
}
redirect(s"/${form.newOwner}/${repository.name}")

View File

@@ -42,22 +42,29 @@ object Directory {
def getRepositoryDir(owner: String, repository: String): File =
new File(s"${RepositoryHome}/${owner}/${repository}.git")
/**
* Directory for repository files.
*/
def getRepositoryFilesDir(owner: String, repository: String): File =
new File(s"${RepositoryHome}/${owner}/${repository}")
/**
* Directory for files which are attached to issue.
*/
def getAttachedDir(owner: String, repository: String): File =
new File(s"${RepositoryHome}/${owner}/${repository}/comments")
new File(getRepositoryFilesDir(owner, repository), "comments")
/**
* Directory for files which are attached to issue.
*/
def getLfsDir(owner: String, repository: String): File =
new File(s"${RepositoryHome}/${owner}/${repository}/lfs")
new File(getRepositoryFilesDir(owner, repository), "lfs")
/**
* Directory for uploaded files by the specified user.
*/
def getUserUploadDir(userName: String): File = new File(s"${GitBucketHome}/data/${userName}/files")
def getUserUploadDir(userName: String): File =
new File(s"${GitBucketHome}/data/${userName}/files")
/**
* Root of temporary directories for the upload file.
@@ -74,7 +81,8 @@ object Directory {
/**
* Root of plugin cache directory. Plugin repositories are cloned into this directory.
*/
def getPluginCacheDir(): File = new File(s"${TemporaryHome}/_plugins")
def getPluginCacheDir(): File =
new File(s"${TemporaryHome}/_plugins")
/**
* Substance directory of the wiki repository.