Don't rewrite parents in log output
This causes JGit to buffer the entire repo's commit graph in memory,
which severely hurts performance. With this change, log of a file in
Chromium's history can take ~1s instead of ~10s.
Change-Id: Ia0ce56e2999042578817cbb20208e2f8f69f6743
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
index d904d39..4d1da1c 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
@@ -196,6 +196,7 @@
walk.markUninteresting(walk.parseCommit(view.getOldRevision().getId()));
}
if (!Strings.isNullOrEmpty(view.getPathPart())) {
+ walk.setRewriteParents(false);
walk.setTreeFilter(AndTreeFilter.create(
PathFilterGroup.createFromStrings(view.getPathPart()),
TreeFilter.ANY_DIFF));