Browse Source

Remove unneeded packs when compacting with no new objects

Previously, the DfsPackCompactor exited without pruning the existing
packs, when no new packs were created.

Change-Id: I5e3b6f8c789706c7a982e6ae93cf7c3d4346797c
stable-3.1
Colby Ranger 11 years ago
parent
commit
7dc6c553c0
  1. 8
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackCompactor.java

8
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackCompactor.java

@ -220,8 +220,14 @@ public class DfsPackCompactor {
pw.setReuseDeltaCommits(false); pw.setReuseDeltaCommits(false);
addObjectsToPack(pw, ctx, pm); addObjectsToPack(pw, ctx, pm);
if (pw.getObjectCount() == 0) if (pw.getObjectCount() == 0) {
List<DfsPackDescription> remove = toPrune();
if (remove.size() > 0)
objdb.commitPack(
Collections.<DfsPackDescription>emptyList(),
remove);
return; return;
}
boolean rollback = true; boolean rollback = true;
DfsPackDescription pack = objdb.newPack(COMPACT); DfsPackDescription pack = objdb.newPack(COMPACT);

Loading…
Cancel
Save