summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/utils/RefLogUtils.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2013-06-24 09:36:19 -0400
committerJames Moger <james.moger@gitblit.com>2013-06-24 09:36:19 -0400
commit79dd0bddbd939c85f002f3a33b95ae84d0bf38cb (patch)
treeb72b140a2af157ed878178ba7022c2eacae12a67 /src/main/java/com/gitblit/utils/RefLogUtils.java
parent03232453be7624bc2fc8a942e8c280353606fe8b (diff)
downloadgitblit-79dd0bddbd939c85f002f3a33b95ae84d0bf38cb.tar.gz
gitblit-79dd0bddbd939c85f002f3a33b95ae84d0bf38cb.zip
Implemented commit cache for the dashboards, activity, and project pages
Diffstat (limited to 'src/main/java/com/gitblit/utils/RefLogUtils.java')
-rw-r--r--src/main/java/com/gitblit/utils/RefLogUtils.java14
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 ce03a163..73b71468 100644
--- a/src/main/java/com/gitblit/utils/RefLogUtils.java
+++ b/src/main/java/com/gitblit/utils/RefLogUtils.java
@@ -549,15 +549,15 @@ public class RefLogUtils {
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 @@ public class RefLogUtils {
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 @@ public class RefLogUtils {
}
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 @@ public class RefLogUtils {
}
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);
}
}
}