Преглед изворни кода

Do not retain commit body in RevWalk for reachability checks

Commit body contains the message that is not needed for reachability checks, and
takes up memory unnecessarily.

Change-Id: I0c7f6da249bf9c4fda9dc9e62e809322c68effce
Signed-off-by: Minh Thai <mthai@google.com>
tags/v5.4.0.201905081430-m2
Minh Thai пре 5 година
родитељ
комит
cc2a223fea

+ 1
- 0
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftableDatabase.java Прегледај датотеку

@@ -315,6 +315,7 @@ public class DfsReftableDatabase extends DfsRefDatabase {
throws IOException {
ReceiveCommand cmd = toCommand(oldRef, newRef);
try (RevWalk rw = new RevWalk(getRepository())) {
rw.setRetainBody(false);
newBatchUpdate().setAllowNonFastForwards(true).addCommand(cmd)
.execute(rw, NullProgressMonitor.INSTANCE);
}

+ 2
- 0
org.eclipse.jgit/src/org/eclipse/jgit/lib/RefUpdate.java Прегледај датотеку

@@ -599,6 +599,7 @@ public abstract class RefUpdate {
*/
public Result update() throws IOException {
try (RevWalk rw = new RevWalk(getRepository())) {
rw.setRetainBody(false);
return update(rw);
}
}
@@ -646,6 +647,7 @@ public abstract class RefUpdate {
*/
public Result delete() throws IOException {
try (RevWalk rw = new RevWalk(getRepository())) {
rw.setRetainBody(false);
return delete(rw);
}
}

+ 2
- 0
org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java Прегледај датотеку

@@ -489,6 +489,7 @@ public abstract class Repository implements AutoCloseable {
throws AmbiguousObjectException, IncorrectObjectTypeException,
RevisionSyntaxException, IOException {
try (RevWalk rw = new RevWalk(this)) {
rw.setRetainBody(false);
Object resolved = resolve(rw, revstr);
if (resolved instanceof String) {
final Ref ref = findRef((String) resolved);
@@ -515,6 +516,7 @@ public abstract class Repository implements AutoCloseable {
public String simplify(String revstr)
throws AmbiguousObjectException, IOException {
try (RevWalk rw = new RevWalk(this)) {
rw.setRetainBody(true);
Object resolved = resolve(rw, revstr);
if (resolved != null)
if (resolved instanceof String)

+ 1
- 0
org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java Прегледај датотеку

@@ -272,6 +272,7 @@ public abstract class BasePackFetchConnection extends BasePackConnection

if (local != null) {
walk = new RevWalk(local);
walk.setRetainBody(false);
reachableCommits = new RevCommitList<>();
REACHABLE = walk.newFlag("REACHABLE"); //$NON-NLS-1$
COMMON = walk.newFlag("COMMON"); //$NON-NLS-1$

+ 1
- 0
org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java Прегледај датотеку

@@ -314,6 +314,7 @@ public abstract class BaseReceivePack {
protected BaseReceivePack(Repository into) {
db = into;
walk = new RevWalk(db);
walk.setRetainBody(false);

TransferConfig tc = db.getConfig().get(TransferConfig.KEY);
objectChecker = tc.newReceiveObjectChecker();

+ 1
- 0
org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java Прегледај датотеку

@@ -200,6 +200,7 @@ class FetchProcess {
.setAllowNonFastForwards(true)
.setRefLogMessage("fetch", true); //$NON-NLS-1$
try (RevWalk walk = new RevWalk(transport.local)) {
walk.setRetainBody(false);
if (monitor instanceof BatchingProgressMonitor) {
((BatchingProgressMonitor) monitor).setDelayStart(
250, TimeUnit.MILLISECONDS);

Loading…
Откажи
Сачувај