Skip to content

Commit ad1a80c

Browse files
committed
adapt to changes in git-repository
1 parent eca3658 commit ad1a80c

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

gitoxide-core/src/repository/config.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ pub fn list(
1414
if format != OutputFormat::Human {
1515
bail!("Only human output format is supported at the moment");
1616
}
17-
let mut repo = git::open_opts(repo.git_dir(), repo.open_options().clone().lossy_config(false))?;
18-
repo.config_snapshot_mut().apply_cli_overrides(overrides.into_iter())?;
17+
let repo = git::open_opts(
18+
repo.git_dir(),
19+
repo.open_options().clone().lossy_config(false).cli_overrides(overrides),
20+
)?;
1921
let config = repo.config_snapshot();
2022
let config = config.plumbing();
2123
if let Some(frontmatter) = config.frontmatter() {

src/plumbing/main.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,22 @@ pub fn main() -> Result<()> {
7878
mode,
7979
Mode::StrictWithGitInstallConfig | Mode::LenientWithGitInstallConfig
8080
);
81-
mapping.full.permissions.config.git_binary = git_installation;
82-
mapping.reduced.permissions.config.git_binary = git_installation;
81+
let to_match_settings = |mut opts: git::open::Options| {
82+
opts.permissions.config.git_binary = git_installation;
83+
if config.is_empty() {
84+
opts
85+
} else {
86+
opts.cli_overrides(config.clone())
87+
}
88+
};
89+
mapping.full.modify(to_match_settings);
90+
mapping.reduced.modify(to_match_settings);
8391
let mut repo = git::ThreadSafeRepository::discover_opts(repository, Default::default(), mapping)
8492
.map(git::Repository::from)
8593
.map(|r| r.apply_environment())?;
8694
if !config.is_empty() {
8795
repo.config_snapshot_mut()
88-
.apply_cli_overrides(config.iter())
96+
.append_config(config.iter(), git::config::Source::Cli)
8997
.context("Unable to parse command-line configuration")?;
9098
}
9199
Ok(repo)

0 commit comments

Comments
 (0)