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));