diff options
author | Matthias Sohn <matthias.sohn@sap.com> | 2019-03-21 15:55:39 +0100 |
---|---|---|
committer | Matthias Sohn <matthias.sohn@sap.com> | 2019-03-21 15:55:47 +0100 |
commit | b29bb5cbb00748fb7a4f89c5177391282d7aef66 (patch) | |
tree | 294657abf806325a7fa3fe0eb71106ccf0482f6a /org.eclipse.jgit.test/tst/org | |
parent | 7480737aac78a2c6e1acca37715bf61a5fa494bb (diff) | |
parent | 1a289e342083d18fe4013bdb75004c079122df67 (diff) | |
download | jgit-b29bb5cbb00748fb7a4f89c5177391282d7aef66.tar.gz jgit-b29bb5cbb00748fb7a4f89c5177391282d7aef66.zip |
Merge branch 'stable-4.11' into stable-5.0
* stable-4.11:
Fix GC to delete empty fanout directories after repacking
Change-Id: Idce894a24e126e0fbe7bc9b6a3c64318f1a8eb75
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.jgit.test/tst/org')
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPruneNonReferencedTest.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPruneNonReferencedTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPruneNonReferencedTest.java index 5b1a4178a6..345207089f 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPruneNonReferencedTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPruneNonReferencedTest.java @@ -47,6 +47,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.io.File; import java.util.Collections; import java.util.Date; @@ -113,8 +114,24 @@ public class GcPruneNonReferencedTest extends GcTestCase { fsTick(); gc.gc(); stats = gc.getStatistics(); + assertNoEmptyFanoutDirectories(); assertEquals(0, stats.numberOfLooseObjects); assertEquals(8, stats.numberOfPackedObjects); assertEquals(2, stats.numberOfPackFiles); } + + private void assertNoEmptyFanoutDirectories() { + File[] fanout = repo.getObjectsDirectory().listFiles(); + for (File f : fanout) { + if (f.isDirectory()) { + String[] entries = f.list(); + if (entries == null || entries.length == 0) { + assertFalse( + "Found empty fanout directory " + + f.getAbsolutePath() + " after pruning", + f.getName().length() == 2); + } + } + } + } } |