diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java index e1ba13004..0c94043e1 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java @@ -178,7 +178,7 @@ public static void setExecutor(ExecutorService e) { private Date packExpire; - private PackConfig pconfig = null; + private PackConfig pconfig; /** * the refs which existed during the last call to {@link #repack()}. This is @@ -214,6 +214,7 @@ public static void setExecutor(ExecutorService e) { */ public GC(FileRepository repo) { this.repo = repo; + this.pconfig = new PackConfig(repo); this.pm = NullProgressMonitor.INSTANCE; } @@ -398,7 +399,7 @@ private void deleteOldPacks(Collection oldPacks, */ private void removeOldPack(File packFile, String packName, PackExt ext, int deleteOptions) throws IOException { - if (pconfig != null && pconfig.isPreserveOldPacks()) { + if (pconfig.isPreserveOldPacks()) { File oldPackDir = repo.getObjectDatabase().getPreservedDirectory(); FileUtils.mkdir(oldPackDir, true); @@ -414,7 +415,7 @@ private void removeOldPack(File packFile, String packName, PackExt ext, * Delete the preserved directory including all pack files within */ private void prunePreserved() { - if (pconfig != null && pconfig.isPrunePreserved()) { + if (pconfig.isPrunePreserved()) { try { FileUtils.delete(repo.getObjectDatabase().getPreservedDirectory(), FileUtils.RECURSIVE | FileUtils.RETRY | FileUtils.SKIP_MISSING); @@ -856,7 +857,7 @@ public Collection repack() throws IOException { nonHeads.addAll(indexObjects); // Combine the GC_REST objects into the GC pack if requested - if (pconfig != null && pconfig.getSinglePack()) { + if (pconfig.getSinglePack()) { allHeadsAndTags.addAll(nonHeads); nonHeads.clear(); } @@ -1159,7 +1160,7 @@ private PackFile writePack(@NonNull Set want, return Integer.signum(o1.hashCode() - o2.hashCode()); }); try (PackWriter pw = new PackWriter( - (pconfig == null) ? new PackConfig(repo) : pconfig, + pconfig, repo.newObjectReader())) { // prepare the PackWriter pw.setDeltaBaseAsOffset(true); @@ -1434,7 +1435,7 @@ public void setPackExpireAgeMillis(long packExpireAgeMillis) { * the {@link org.eclipse.jgit.storage.pack.PackConfig} used when * writing packs */ - public void setPackConfig(PackConfig pconfig) { + public void setPackConfig(@NonNull PackConfig pconfig) { this.pconfig = pconfig; }