]> source.dussan.org Git - jgit.git/commit
DfsBlockCacheConfig: support configurations for dfs cache tables per extensions 65/1196165/19
authorLaura Hamelin <haowl@google.com>
Fri, 7 Jun 2024 23:12:18 +0000 (16:12 -0700)
committerLaura Hamelin <haowl@google.com>
Fri, 12 Jul 2024 20:34:55 +0000 (13:34 -0700)
commitb343442bdb8333ec31d4a17a82bb6e02aee3fbe6
tree19e3b63a531ab1d4adcddeb8b77dfc58066b72b1
parente240b380f4fa98461e61adfcb8b9591c46bee4e3
DfsBlockCacheConfig: support configurations for dfs cache tables per extensions

Parse configurations for tables containing a set of extensions,
defined in [core "dfs.*"] sections.

Parse configurations for cache tables according to configurations
defined in [core "dfs.*"] git config sections for sets of
extensions. The current [core "dfs"] is the default to any
extension not listed in any other table.

Configuration falls back to the defaults defined in the
DfsBlockCacheConfig.java file when not set on each cache
table configuration.

Sample format for individual cache tables:
In this example:
1. PACK types would go to the "default" table
2. INDEX and BITMAP_INDEX types would go to the
   "multipleExtensionCache" table
3. REFTABLE types would go to the "reftableCache" table

[core "dfs"] // Configuration for the "default" cache table.
  blockSize = 512
  blockLimit = 100
  concurrencyLevel = 5
  (...)

[core "dfs.multipleExtensionCache"]
  packExtensions = "INDEX BITMAP_INDEX"
  blockSize = 512
  blockLimit = 100
  concurrencyLevel = 5
  (...)

[core "dfs.reftableCache"]
  packExtensions = "REFTABLE"
  blockSize = 512
  blockLimit = 100
  concurrencyLevel = 5
  (...)

Change-Id: I0e534e6d78b684832e3d3d269cee2590aa0f1911
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfigTest.java
org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfig.java
org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java