mirror of
https://github.com/gitbucket/gitbucket.git
synced 2026-01-05 23:30:02 +01:00
Merge pull request #1453 from shiena/move_lfs_dir
Failure to clone LFS file when repository rename or transfer
This commit is contained in:
@@ -125,6 +125,13 @@ trait RepositorySettingsControllerBase extends ControllerBase {
|
||||
defining(getWikiRepositoryDir(repository.owner, repository.name)){ dir =>
|
||||
FileUtils.moveDirectory(dir, getWikiRepositoryDir(repository.owner, form.repositoryName))
|
||||
}
|
||||
// Move lfs directory
|
||||
defining(getLfsDir(repository.owner, repository.name)){ dir =>
|
||||
if(dir.isDirectory()) {
|
||||
FileUtils.moveDirectory(dir, getLfsDir(repository.owner, form.repositoryName))
|
||||
FileUtil.deleteDirectoryIfEmpty(dir.getParentFile())
|
||||
}
|
||||
}
|
||||
}
|
||||
flash += "info" -> "Repository settings has been updated."
|
||||
redirect(s"/${repository.owner}/${form.repositoryName}/settings/options")
|
||||
@@ -323,6 +330,13 @@ trait RepositorySettingsControllerBase extends ControllerBase {
|
||||
defining(getWikiRepositoryDir(repository.owner, repository.name)){ dir =>
|
||||
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())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
redirect(s"/${form.newOwner}/${repository.name}")
|
||||
@@ -338,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}")
|
||||
})
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user