jgit/org.eclipse.jgit.test
Han-Wen Nienhuys 38586d54d0 file: implement FileReftableDatabase
Reftable is a binary, block-based storage format for the ref-database.
It provides several advantages over the traditional packed + loose
storage format:

 * O(1) write performance, even for deletions and transactions.

 * atomic updates to the ref database.

 * O(log N) lookup and prefix scans

 * free from restrictions imposed by the file system: it is
   case-sensitive even on case-insensitive file systems, and has
   no inherent limitations for directory/file conflicts

 * prefix compression reduces space usage for repetitive ref names,
   such as gerrit's refs/changes/xx/xxxxx format.

FileReftableDatabase is based on FileReftableStack, which does
compactions inline. This is simple, and has good median performance,
but every so often it will rewrite the entire ref database.

For testing, a FileReftableTest (mirroring RefUpdateTest) is added to
check for Reftable specific behavior. This must be done separately, as
reflogs have different semantics.

Add a reftable flavor of BatchRefUpdateTest.

Add a FileReftableStackTest to exercise compaction.

Add FileRepository#convertToReftable so existing testdata can be
reused.

CQ: 21007
Change-Id: I1837f268e91c6b446cb0155061727dbaccb714b8
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2019-11-16 23:16:01 -08:00
..
.settings Enable and fix "Statement unnecessarily nested within else clause" warnings 2019-10-17 10:20:14 +09:00
META-INF GPG: implement more OpenPGP UserId matching formats 2019-10-23 11:17:24 +02:00
exttst/org/eclipse/jgit Deprecate Constants.CHARSET in favor of StandardCharsets.UTF_8 2018-09-04 10:53:10 +09:00
resources/org/eclipse/jgit/transport/ssh Apache MINA sshd client: test reading encrypted ed25519 keys 2019-05-06 15:22:08 +02:00
src/org/eclipse/jgit WorkingTreeModifiedEvent: must be fired explicitly after merge 2019-11-03 10:10:16 +01:00
tst/org/eclipse/jgit file: implement FileReftableDatabase 2019-11-16 23:16:01 -08:00
tst-rsrc Merge branch 'stable-5.4' 2019-08-20 00:16:11 +02:00
.classpath Apache MINA sshd client 2018-11-13 10:49:26 -08:00
.gitignore Fix test setup for Eclipse Photon and greater 2018-11-02 18:50:26 +01:00
.project Remove references to org.eclipse.jgit.java7 2016-08-05 11:22:27 +09:00
BUILD RequestValidatorTestCase: Tests for the request validators 2019-09-18 13:54:50 -07:00
build.properties Apache MINA sshd client 2018-11-13 10:49:26 -08:00
org.eclipse.jgit.core--All-Tests (Java 8) (de).launch Fixed few locale dependent pgm tests 2016-01-02 17:41:58 +01:00
org.eclipse.jgit.core--All-Tests (Java 8).launch Fix classpath of test launch configurations 2015-11-21 00:33:43 +01:00
org.eclipse.jgit.core--All-Tests.launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
org.eclipse.jgit.test-WalkEncryptionTest-Proxy.launch Adding AES Walk Encryption support in http://www.jets3t.org/ mode 2015-10-18 19:14:31 +00:00
org.eclipse.jgit.test-WalkEncryptionTest.launch Adding AES Walk Encryption support in http://www.jets3t.org/ mode 2015-10-18 19:14:31 +00:00
plugin.properties Fix bundle localization of Apache SSH bundle 2019-06-21 17:54:06 +02:00
pom.xml Prepare 5.5.2-SNAPSHOT builds 2019-10-03 02:06:57 +02:00
tests.bzl Merge branch 'stable-5.3' into stable-5.4 2019-08-08 13:24:14 +02:00