in focus/operations/src/clone.rs [844:872]
fn copy_dense_config(dense_repo: &Repository, sparse_repo: &Repository) -> Result<()> {
let dense_cfg = dense_repo
.config()
.context("failed to get dense repo config")?
.open_level(git2::ConfigLevel::Local)
.context("failed to open level Local in dense repo config")?;
let mut sparse_cfg = sparse_repo
.config()
.context("failed to get sparse repo config")?
.open_level(git2::ConfigLevel::Local)
.context("failed to open level Local in sparse repo config")?;
for k in ["ci.alt.remote", "ci.alt.enabled"] {
if let Ok(v) = dense_cfg.get_string(k) {
if v.is_empty() {
break;
}
sparse_cfg.set_str(k, &v).with_context(|| {
format!(
"failed to set key {:#?} value {:#?} from dense repo in sparse repo",
k, &v
)
})?;
}
}
Ok(())
}