releases.moxie | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/git/ReceiveHook.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/utils/CommitCache.java | ●●●●● patch | view | raw | blame | history |
releases.moxie
@@ -13,6 +13,7 @@ - Gitblit-as-viewer with no repository urls failed to display summary page (issue 269) - Fixed missing model class dependencies in Gitblit Manager build - Fix for IE10 compatability mode - Reset dashboard and activity commit cache on branch REWIND or DELETE changes: ~ additions: ~ dependencyChanges: ~ src/main/java/com/gitblit/git/ReceiveHook.java
@@ -36,6 +36,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.gitblit.Constants; import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.GitBlit; import com.gitblit.Keys; @@ -44,6 +45,7 @@ import com.gitblit.models.UserModel; import com.gitblit.utils.ArrayUtils; import com.gitblit.utils.ClientLogger; import com.gitblit.utils.CommitCache; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.RefLogUtils; import com.gitblit.utils.StringUtils; @@ -186,6 +188,21 @@ return; } } // reset branch commit cache on REWIND and DELETE for (ReceiveCommand cmd : commands) { String ref = cmd.getRefName(); if (ref.startsWith(Constants.R_HEADS)) { switch (cmd.getType()) { case UPDATE_NONFASTFORWARD: case DELETE: CommitCache.instance().clear(repository.name, ref); break; default: break; } } } Set<String> scripts = new LinkedHashSet<String>(); scripts.addAll(GitBlit.self().getPreReceiveScriptsInherited(repository)); src/main/java/com/gitblit/utils/CommitCache.java
@@ -110,6 +110,23 @@ } /** * Clears the commit cache for a specific branch of a specific repository. * * @param repositoryName * @param branch */ public void clear(String repositoryName, String branch) { String repoKey = repositoryName.toLowerCase(); ObjectCache<List<RepositoryCommit>> repoCache = cache.get(repoKey); if (repoCache != null) { List<RepositoryCommit> commits = repoCache.remove(branch.toLowerCase()); if (!ArrayUtils.isEmpty(commits)) { logger.info(MessageFormat.format("{0}:{1} commit cache cleared", repositoryName, branch)); } } } /** * Get all commits for the specified repository:branch that are in the cache. * * @param repositoryName