mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-03 03:55:51 +01:00
Refactor the repository store implementation in order to store repositories in specific paths.
This commit is contained in:
@@ -106,7 +106,7 @@ public class GitRepositoryResolver implements RepositoryResolver<HttpServletRequ
|
||||
|
||||
if (config.isValid())
|
||||
{
|
||||
File gitdir = findRepository(config.getRepositoryDirectory(), repo.getId());
|
||||
File gitdir = handler.getDirectory(repo);
|
||||
if (gitdir == null) {
|
||||
throw new RepositoryNotFoundException(repositoryName);
|
||||
}
|
||||
@@ -132,32 +132,6 @@ public class GitRepositoryResolver implements RepositoryResolver<HttpServletRequ
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
File findRepository(File parentDirectory, String repositoryName) {
|
||||
File repositoryDirectory = new File(parentDirectory, repositoryName);
|
||||
if (repositoryDirectory.exists()) {
|
||||
return repositoryDirectory;
|
||||
}
|
||||
|
||||
if (endsWithDotGit(repositoryName)) {
|
||||
String repositoryNameWithoutDotGit = repositoryNameWithoutDotGit(repositoryName);
|
||||
repositoryDirectory = new File(parentDirectory, repositoryNameWithoutDotGit);
|
||||
if (repositoryDirectory.exists()) {
|
||||
return repositoryDirectory;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private boolean endsWithDotGit(String repositoryName) {
|
||||
return repositoryName.endsWith(GitRepositoryHandler.DOT_GIT);
|
||||
}
|
||||
|
||||
private String repositoryNameWithoutDotGit(String repositoryName) {
|
||||
return repositoryName.substring(0, repositoryName.length() - GitRepositoryHandler.DOT_GIT.length());
|
||||
}
|
||||
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
private final GitRepositoryHandler handler;
|
||||
|
||||
Reference in New Issue
Block a user