James Moger
2014-09-25 54cc7d7c2483d7ca100a5db47f4e1e98bd97c7fe
src/main/java/com/gitblit/manager/ProjectManager.java
@@ -80,7 +80,7 @@
   }
   @Override
   public IManager setup() {
   public ProjectManager start() {
      // load and cache the project metadata
      projectConfigs = new FileBasedConfig(runtimeManager.getFileOrFolder(Keys.web.projectsFile, "${baseFolder}/projects.conf"), FS.detect());
      getProjectConfigs();
@@ -89,7 +89,7 @@
   }
   @Override
   public IManager stop() {
   public ProjectManager stop() {
      return this;
   }
@@ -178,19 +178,20 @@
      map.put("", configs.get(""));
      for (RepositoryModel model : repositoryManager.getRepositoryModels(user)) {
         String rootPath = StringUtils.getRootPath(model.name).toLowerCase();
         if (!map.containsKey(rootPath)) {
         String projectPath = StringUtils.getRootPath(model.name);
         String projectKey = projectPath.toLowerCase();
         if (!map.containsKey(projectKey)) {
            ProjectModel project;
            if (configs.containsKey(rootPath)) {
            if (configs.containsKey(projectKey)) {
               // clone the project model because it's repository list will
               // be tailored for the requesting user
               project = DeepCopier.copy(configs.get(rootPath));
               project = DeepCopier.copy(configs.get(projectKey));
            } else {
               project = new ProjectModel(rootPath);
               project = new ProjectModel(projectPath);
            }
            map.put(rootPath, project);
            map.put(projectKey, project);
         }
         map.get(rootPath).addRepository(model);
         map.get(projectKey).addRepository(model);
      }
      // sort projects, root project first