summaryrefslogtreecommitdiffstats
path: root/vendor/gix/src/config/cache/util.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix/src/config/cache/util.rs')
-rw-r--r--vendor/gix/src/config/cache/util.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/vendor/gix/src/config/cache/util.rs b/vendor/gix/src/config/cache/util.rs
index d5a0a4acb..7c478fcf9 100644
--- a/vendor/gix/src/config/cache/util.rs
+++ b/vendor/gix/src/config/cache/util.rs
@@ -40,8 +40,7 @@ pub(crate) fn config_bool(
);
config
.boolean_by_key(key_str)
- .map(|res| key.enrich_error(res))
- .unwrap_or(Ok(default))
+ .map_or(Ok(default), |res| key.enrich_error(res))
.map_err(Error::from)
.with_lenient_default(lenient)
}
@@ -73,7 +72,12 @@ pub(crate) fn parse_object_caches(
config: &gix_config::File<'static>,
lenient: bool,
mut filter_config_section: fn(&gix_config::file::Metadata) -> bool,
-) -> Result<(Option<usize>, usize), Error> {
+) -> Result<(Option<usize>, Option<usize>, usize), Error> {
+ let static_pack_cache_limit = config
+ .integer_filter_by_key("core.deltaBaseCacheLimit", &mut filter_config_section)
+ .map(|res| gitoxide::Core::DEFAULT_PACK_CACHE_MEMORY_LIMIT.try_into_usize(res))
+ .transpose()
+ .with_leniency(lenient)?;
let pack_cache_bytes = config
.integer_filter_by_key("core.deltaBaseCacheLimit", &mut filter_config_section)
.map(|res| Core::DELTA_BASE_CACHE_LIMIT.try_into_usize(res))
@@ -85,7 +89,7 @@ pub(crate) fn parse_object_caches(
.transpose()
.with_leniency(lenient)?
.unwrap_or_default();
- Ok((pack_cache_bytes, object_cache_bytes))
+ Ok((static_pack_cache_limit, pack_cache_bytes, object_cache_bytes))
}
pub(crate) fn parse_core_abbrev(