aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Pearce <spearce@spearce.org>2015-05-08 22:48:10 -0700
committerShawn Pearce <spearce@spearce.org>2015-05-10 10:47:09 -0700
commitaf7dcd6e1b22d21f4563a75181c5d269fd8105b5 (patch)
treed08a858dd2547d69e9c1d2f034757d549df15f07
parent53e39094bf012a4f5b3fe5557219707cb7b0f010 (diff)
downloadjgit-af7dcd6e1b22d21f4563a75181c5d269fd8105b5.tar.gz
jgit-af7dcd6e1b22d21f4563a75181c5d269fd8105b5.zip
RevWalk: Discard uninteresting commits unless RevSort.BOUNDARY
Previously using an ObjectWalk meant uninteresting commits may keep their commit message buffers in memory just in case they were found to be on the boundary and were output as UNINTERESTING for the caller. This was incorrect inside StartGenerator. ObjectWalk hides these internal UNINTERESTING cases from its caller unless RevSort.BOUNDARY was explicitly set, and its false by default. Callers never see one of these saved uninteresting commits. Change the test to allow early dispose unless the application has explicitly asked for RevSort.BOUNDARY. This allows uninteresting commit buffers to be discarded and garbage collected in ObjectWalks when the caller will never be given the RevCommit. Change-Id: Ic1419cc1d9ee95f4d09386dd0730d54c12dcc157
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java
index 593e09e255..02469d6de8 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java
@@ -144,7 +144,7 @@ class StartGenerator extends Generator {
} else {
g = new PendingGenerator(w, pending, rf, pendingOutputType);
- if (boundary) {
+ if (walker.hasRevSort(RevSort.BOUNDARY)) {
// Because the boundary generator may produce uninteresting
// commits we cannot allow the pending generator to dispose
// of them early.