James Moger
2015-09-28 c0d028b5fe76592f55c622c6e24cbe91de49a261
src/main/java/com/gitblit/manager/RepositoryManager.java
@@ -1347,7 +1347,7 @@
   }
   /**
    * Creates/updates the repository model keyed by reopsitoryName. Saves all
    * Creates/updates the repository model keyed by repositoryName. Saves all
    * repository settings in .git/config. This method allows for renaming
    * repositories and will update user access permissions accordingly.
    *
@@ -1375,6 +1375,7 @@
            repository.name = repository.name.substring(projectPath.length() + 1);
         }
      }
      boolean isRename = false;
      if (isCreate) {
         // ensure created repository name ends with .git
         if (!repository.name.toLowerCase().endsWith(org.eclipse.jgit.lib.Constants.DOT_GIT_EXT)) {
@@ -1391,7 +1392,8 @@
         r = JGitUtils.createRepository(repositoriesFolder, repository.name, shared);
      } else {
         // rename repository
         if (!repositoryName.equalsIgnoreCase(repository.name)) {
         isRename = !repositoryName.equalsIgnoreCase(repository.name);
         if (isRename) {
            if (!repository.name.toLowerCase().endsWith(
                  org.eclipse.jgit.lib.Constants.DOT_GIT_EXT)) {
               repository.name += org.eclipse.jgit.lib.Constants.DOT_GIT_EXT;
@@ -1509,6 +1511,14 @@
               listener.onCreation(repository);
            } catch (Throwable t) {
               logger.error(String.format("failed to call plugin onCreation %s", repositoryName), t);
            }
         }
      } else if (isRename && pluginManager != null) {
         for (RepositoryLifeCycleListener listener : pluginManager.getExtensions(RepositoryLifeCycleListener.class)) {
            try {
               listener.onRename(repositoryName, repository);
            } catch (Throwable t) {
               logger.error(String.format("failed to call plugin onRename %s", repositoryName), t);
            }
         }
      }
@@ -1921,12 +1931,14 @@
      try {
         // issue-486/ticket-151: UTF-9 & UTF-18
         // issue-560/ticket-237: 'UTF8'
         Field field = RawParseUtils.class.getDeclaredField("encodingAliases");
         field.setAccessible(true);
         Map<String, Charset> encodingAliases = (Map<String, Charset>) field.get(null);
         encodingAliases.put("'utf8'", RawParseUtils.UTF8_CHARSET);
         encodingAliases.put("utf-9", RawParseUtils.UTF8_CHARSET);
         encodingAliases.put("utf-18", RawParseUtils.UTF8_CHARSET);
         logger.info("Alias UTF-9 & UTF-18 encodings as UTF-8 in JGit");
         logger.info("Alias 'UTF8', UTF-9 & UTF-18 encodings as UTF-8 in JGit");
      } catch (Throwable t) {
         logger.error("Failed to inject UTF-9 & UTF-18 encoding aliases into JGit", t);
      }