summaryrefslogtreecommitdiffstats
path: root/vendor/gix/src/remote/connection/fetch/config.rs
blob: 4782991bc6671384443cbcc408f38d897adf1c7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use super::Error;
use crate::{
    config::{cache::util::ApplyLeniency, tree::Pack},
    Repository,
};

pub fn index_threads(repo: &Repository) -> Result<Option<usize>, Error> {
    Ok(repo
        .config
        .resolved
        .integer_filter("pack", None, Pack::THREADS.name, &mut repo.filter_config_section())
        .map(|threads| Pack::THREADS.try_into_usize(threads))
        .transpose()
        .with_leniency(repo.options.lenient_config)?)
}

pub fn pack_index_version(repo: &Repository) -> Result<gix_pack::index::Version, Error> {
    Ok(repo
        .config
        .resolved
        .integer("pack", None, Pack::INDEX_VERSION.name)
        .map(|value| Pack::INDEX_VERSION.try_into_index_version(value))
        .transpose()
        .with_leniency(repo.options.lenient_config)?
        .unwrap_or(gix_pack::index::Version::V2))
}