From 551ca93cc6d45b5cbcc0066004ffcebc7cb9d7a6 Mon Sep 17 00:00:00 2001 From: Jonathan Tan Date: Thu, 17 Aug 2023 15:41:02 -0700 Subject: DfsGarbageCollector: provide commit graph stats Provide commit graph stats in the same way that we provide reftable stats. Signed-off-by: Jonathan Tan Change-Id: Ib80c892a26f9b552bc90f3cbe7da83b02ffebdfd --- .../storage/dfs/DfsGarbageCollectorTest.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'org.eclipse.jgit.test/tst') diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java index 16c34500a3..05360dc052 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.concurrent.TimeUnit; import org.eclipse.jgit.internal.storage.commitgraph.CommitGraph; +import org.eclipse.jgit.internal.storage.commitgraph.CommitGraphWriter; import org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.PackSource; import org.eclipse.jgit.internal.storage.reftable.RefCursor; import org.eclipse.jgit.internal.storage.reftable.ReftableConfig; @@ -1103,6 +1104,22 @@ public class DfsGarbageCollectorTest { } } + @Test + public void produceCommitGraphAndBloomFilter() throws Exception { + String head = "refs/heads/head1"; + + git.branch(head).commit().message("0").noParents().create(); + + gcWithCommitGraphAndBloomFilter(); + + assertEquals(1, odb.getPacks().length); + DfsPackFile pack = odb.getPacks()[0]; + DfsPackDescription desc = pack.getPackDescription(); + CommitGraphWriter.Stats stats = desc.getCommitGraphStats(); + assertNotNull(stats); + assertEquals(1, stats.getChangedPathFiltersComputed()); + } + @Test public void objectSizeIdx_reachableBlob_bigEnough_indexed() throws Exception { String master = "refs/heads/master"; @@ -1177,6 +1194,13 @@ public class DfsGarbageCollectorTest { run(gc); } + private void gcWithCommitGraphAndBloomFilter() throws IOException { + DfsGarbageCollector gc = new DfsGarbageCollector(repo); + gc.setWriteCommitGraph(true); + gc.setWriteBloomFilter(true); + run(gc); + } + private void gcWithObjectSizeIndex(int threshold) throws IOException { DfsGarbageCollector gc = new DfsGarbageCollector(repo); gc.getPackConfig().setMinBytesForObjSizeIndex(threshold); -- cgit v1.2.3