From 79dd0bddbd939c85f002f3a33b95ae84d0bf38cb Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 24 Jun 2013 09:36:19 -0400 Subject: [PATCH] Implemented commit cache for the dashboards, activity, and project pages --- src/main/java/com/gitblit/utils/RefLogUtils.java | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/utils/RefLogUtils.java b/src/main/java/com/gitblit/utils/RefLogUtils.java index ce03a16..73b7146 100644 --- a/src/main/java/com/gitblit/utils/RefLogUtils.java +++ b/src/main/java/com/gitblit/utils/RefLogUtils.java @@ -549,15 +549,15 @@ String linearParent = null; for (RefModel local : JGitUtils.getLocalBranches(repository, true, -1)) { String branch = local.getName(); - List<RevCommit> commits = JGitUtils.getRevLog(repository, branch, minimumDate); - for (RevCommit commit : commits) { + List<RepositoryCommit> commits = CommitCache.instance().getCommits(repositoryName, repository, branch, minimumDate); + for (RepositoryCommit commit : commits) { if (linearParent != null) { if (!commit.getName().equals(linearParent)) { // only follow linear branch commits continue; } } - Date date = JGitUtils.getCommitDate(commit); + Date date = commit.getCommitDate(); String dateStr = df.format(date); if (!dailydigests.containsKey(dateStr)) { dailydigests.put(dateStr, new DailyLogEntry(repositoryName, date)); @@ -571,7 +571,7 @@ digest.updateRef(branch, ReceiveCommand.Type.UPDATE, linearParent, commit.getName()); } - RepositoryCommit repoCommit = digest.addCommit(branch, commit); + RepositoryCommit repoCommit = digest.addCommit(commit); if (repoCommit != null) { List<RefModel> matchedRefs = allRefs.get(commit.getId()); repoCommit.setRefs(matchedRefs); @@ -587,7 +587,8 @@ } RefLogEntry tagEntry = tags.get(dateStr); tagEntry.updateRef(ref.getName(), ReceiveCommand.Type.CREATE); - tagEntry.addCommit(ref.getName(), commit); + RepositoryCommit rc = repoCommit.clone(ref.getName()); + tagEntry.addCommit(rc); } else if (ref.getName().startsWith(Constants.R_PULL)) { // treat pull requests as special events in the log if (!pulls.containsKey(dateStr)) { @@ -597,7 +598,8 @@ } RefLogEntry pullEntry = pulls.get(dateStr); pullEntry.updateRef(ref.getName(), ReceiveCommand.Type.CREATE); - pullEntry.addCommit(ref.getName(), commit); + RepositoryCommit rc = repoCommit.clone(ref.getName()); + pullEntry.addCommit(rc); } } } -- Gitblit v1.9.1