From f1926affd9103481a8e9cbd1366e204c5e6d1c26 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 23 May 2014 08:31:07 -0400 Subject: [PATCH] Merged #84 "Localclone.groovy has a legacy reference to the GitBlit static singleton" --- src/main/java/com/gitblit/manager/RepositoryManager.java | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/manager/RepositoryManager.java b/src/main/java/com/gitblit/manager/RepositoryManager.java index a76787b..71bce86 100644 --- a/src/main/java/com/gitblit/manager/RepositoryManager.java +++ b/src/main/java/com/gitblit/manager/RepositoryManager.java @@ -455,6 +455,20 @@ } /** + * Reset all caches for this repository. + * + * @param repositoryName + * @since 1.5.1 + */ + @Override + public void resetRepositoryCache(String repositoryName) { + removeFromCachedRepositoryList(repositoryName); + clearRepositoryMetadataCache(repositoryName); + // force a reload of the repository data (ticket-82, issue-433) + getRepositoryModel(repositoryName); + } + + /** * Resets the repository list cache. * */ @@ -670,7 +684,8 @@ // http://stackoverflow.com/questions/17183110 repositoryName = repositoryName.replace("%7E", "~").replace("%7e", "~"); - if (!repositoryListCache.containsKey(repositoryName)) { + String repositoryKey = repositoryName.toLowerCase(); + if (!repositoryListCache.containsKey(repositoryKey)) { RepositoryModel model = loadRepositoryModel(repositoryName); if (model == null) { return null; @@ -680,7 +695,7 @@ } // cached model - RepositoryModel model = repositoryListCache.get(repositoryName.toLowerCase()); + RepositoryModel model = repositoryListCache.get(repositoryKey); if (gcExecutor.isCollectingGarbage(model.name)) { // Gitblit is busy collecting garbage, use our cached model -- Gitblit v1.9.1